XQuartz: Tiger fix, don't call Xplugin code in the Appkit thread if Xplugin isn't threadsafe.

(cherry picked from commit 748d9e5bd7)
This commit is contained in:
Jeremy Huddleston 2008-12-10 23:04:30 -08:00
parent a939368ab8
commit aee27be278

View File

@ -1008,6 +1008,9 @@ extern int darwin_modifier_flags; // darwinEvents.c
pDev = darwinTabletCurrent; 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) { if(!quartzServerVisible) {
xp_window_id wid; xp_window_id wid;
@ -1023,6 +1026,8 @@ extern int darwin_modifier_flags; // darwinEvents.c
wid == 0) wid == 0)
return; return;
} }
#endif
#endif
DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y, DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y,
pressure, tilt_x, tilt_y); pressure, tilt_x, tilt_y);