aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/hw/xquartz/X11Application.m
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2012-05-21 09:28:15 +0200
committermarha <marha@users.sourceforge.net>2012-05-21 09:28:15 +0200
commitd4b066581bc9a4bf7b0a5ffa11ff0adb47d2075c (patch)
treedb56fe01d61a824e4bd975cbf8603b11e9c5ecdf /xorg-server/hw/xquartz/X11Application.m
parentd2dacc6bc44f7dc245dee6e66723013afb49cfb5 (diff)
parentf543ceaca6820260f15a4eff86938214cf43c7d2 (diff)
downloadvcxsrv-d4b066581bc9a4bf7b0a5ffa11ff0adb47d2075c.tar.gz
vcxsrv-d4b066581bc9a4bf7b0a5ffa11ff0adb47d2075c.tar.bz2
vcxsrv-d4b066581bc9a4bf7b0a5ffa11ff0adb47d2075c.zip
Merge remote-tracking branch 'origin/released'
Diffstat (limited to 'xorg-server/hw/xquartz/X11Application.m')
-rw-r--r--xorg-server/hw/xquartz/X11Application.m24
1 files changed, 16 insertions, 8 deletions
diff --git a/xorg-server/hw/xquartz/X11Application.m b/xorg-server/hw/xquartz/X11Application.m
index 0c3283ed0..1f9b05dd1 100644
--- a/xorg-server/hw/xquartz/X11Application.m
+++ b/xorg-server/hw/xquartz/X11Application.m
@@ -1329,6 +1329,11 @@ untrusted_str(NSEvent *e)
}
#endif
+extern void
+darwinEvents_lock(void);
+extern void
+darwinEvents_unlock(void);
+
- (void) sendX11NSEvent:(NSEvent *)e
{
NSPoint location = NSZeroPoint;
@@ -1341,18 +1346,15 @@ untrusted_str(NSEvent *e)
int modifierFlags;
BOOL isMouseOrTabletEvent, isTabletEvent;
-#ifdef HAVE_LIBDISPATCH
- static dispatch_once_t once_pred;
- dispatch_once(&once_pred, ^{
- tilt = NSZeroPoint;
- darwinTabletCurrent = darwinTabletStylus;
- });
-#else
if (!darwinTabletCurrent) {
+ /* Ensure that the event system is initialized */
+ darwinEvents_lock();
+ darwinEvents_unlock();
+ assert(darwinTabletStylus);
+
tilt = NSZeroPoint;
darwinTabletCurrent = darwinTabletStylus;
}
-#endif
isMouseOrTabletEvent = [e type] == NSLeftMouseDown ||
[e type] == NSOtherMouseDown ||
@@ -1641,6 +1643,11 @@ handle_mouse:
case NSScrollWheel:
{
+#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050
+ float deltaX = [e deltaX];
+ float deltaY = [e deltaY];
+ BOOL isContinuous = NO;
+#else
CGFloat deltaX = [e deltaX];
CGFloat deltaY = [e deltaY];
CGEventRef cge = [e CGEvent];
@@ -1662,6 +1669,7 @@ handle_mouse:
deltaY *= lineHeight / 5.0;
}
#endif
+#endif
#if !defined(XPLUGIN_VERSION) || XPLUGIN_VERSION == 0
/* If we're in the background, we need to send a MotionNotify event