From fd31984e0c0f9a37087cd1cffaa3ba116b12c2e5 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Wed, 10 Dec 2008 23:04:30 -0800 Subject: XQuartz: Tiger fix, don't call Xplugin code in the Appkit thread if Xplugin isn't threadsafe. (cherry picked from commit 748d9e5bd756513d42c4046f3b31e1fdc55bccb6) --- hw/xquartz/X11Application.m | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m index 371b6d69d..2c6b60bc1 100644 --- a/hw/xquartz/X11Application.m +++ b/hw/xquartz/X11Application.m @@ -1008,6 +1008,9 @@ extern int darwin_modifier_flags; // darwinEvents.c pDev = darwinTabletCurrent; } +/* Older libXplugin (Tiger/"Stock" Leopard) aren't thread safe, so we can't call xp_find_window from the Appkit thread */ +#ifdef XPLUGIN_VERSION +#if XPLUGIN_VERSION > 0 if(!quartzServerVisible) { xp_window_id wid; @@ -1023,6 +1026,8 @@ extern int darwin_modifier_flags; // darwinEvents.c wid == 0) return; } +#endif +#endif DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y, pressure, tilt_x, tilt_y); -- cgit v1.2.3