summaryrefslogtreecommitdiff
authorJeremy Huddleston <jeremyhu@freedesktop.org>2008-12-11 07:04:30 (GMT)
committer Jeremy Huddleston <jeremyhu@freedesktop.org>2008-12-15 11:21:58 (GMT)
commitfd31984e0c0f9a37087cd1cffaa3ba116b12c2e5 (patch) (side-by-side diff)
treef9e0111865d7cc4da1dc2656fbfb5291418d73e5
parent5926b213b39a90601c73f026dc0699723f5ed10d (diff)
downloadxserver-fd31984e0c0f9a37087cd1cffaa3ba116b12c2e5.zip
xserver-fd31984e0c0f9a37087cd1cffaa3ba116b12c2e5.tar.gz
XQuartz: Tiger fix, don't call Xplugin code in the Appkit thread if Xplugin isn't threadsafe.
(cherry picked from commit 748d9e5bd756513d42c4046f3b31e1fdc55bccb6)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--hw/xquartz/X11Application.m5
1 files changed, 5 insertions, 0 deletions
diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index 371b6d6..2c6b60b 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);