xserver: Branch 'xorg-server-1.4-apple' - 2 commits

Jeremy Huddleston jeremyhu at kemper.freedesktop.org
Mon Sep 29 22:32:38 PDT 2008


 hw/xquartz/X11Application.m                                   |   12 +++-
 hw/xquartz/bundle/Resources/English.lproj/Localizable.strings |binary
 hw/xquartz/darwinEvents.c                                     |   26 +++-------
 hw/xquartz/darwinEvents.h                                     |    2 
 4 files changed, 20 insertions(+), 20 deletions(-)

New commits:
commit 2c8205ea8b709c5859412b466e83aec7a94acdcf
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon Sep 29 22:32:24 2008 -0700

    XQuartz: Added some localizable strings that were missing.

diff --git a/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings
index 439bb6b..dc19fc9 100644
Binary files a/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings and b/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings differ
commit f41583761955cb9c92c43239bfaa8ae0e5d95e33
Author: Jeremy Huddleston <jeremyhu at freedesktop.org>
Date:   Mon Sep 29 22:26:20 2008 -0700

    XQuartz: Actually send the pointer event from the pen even if it happes to actually have 0 pressure and 0 tilt.

diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
index 31cfa20..6cf0db1 100644
--- a/hw/xquartz/X11Application.m
+++ b/hw/xquartz/X11Application.m
@@ -865,6 +865,7 @@ extern int darwin_modifier_flags; // darwinEvents.c
 	NSWindow *window;
 	int pointer_x, pointer_y, ev_button, ev_type;
 	float pressure, tilt_x, tilt_y;
+    DeviceIntPtr pDev;
     
 	/* convert location to be relative to top-left of primary display */
 	location = [e locationInWindow];
@@ -906,10 +907,13 @@ extern int darwin_modifier_flags; // darwinEvents.c
         case NSTabletPoint:       ev_button=0; ev_type=MotionNotify;  goto handle_mouse;
             
         handle_mouse:
+            pDev = darwinPointer;
 			if ([e type] == NSTabletPoint || [e subtype] == NSTabletPointEventSubtype) {
                 pressure = [e pressure];
                 tilt_x   = [e tilt].x;
-                tilt_y   = [e tilt].y; 
+                tilt_y   = [e tilt].y;
+                
+                pDev = darwinTabletCurrent;
             }
             
             if([e subtype] == NSTabletProximityEventSubtype) {
@@ -929,9 +933,11 @@ extern int darwin_modifier_flags; // darwinEvents.c
                 
                 DarwinSendProximityEvents([e isEnteringProximity]?ProximityIn:ProximityOut,
                                           pointer_x, pointer_y);
+                
+                pDev = darwinTabletCurrent;
             }
-            
-            DarwinSendPointerEvents(ev_type, ev_button, pointer_x, pointer_y,
+
+            DarwinSendPointerEvents(pDev, ev_type, ev_button, pointer_x, pointer_y,
                                     pressure, tilt_x, tilt_y);
             
             break;
diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c
index 45c129a..de78265 100644
--- a/hw/xquartz/darwinEvents.c
+++ b/hw/xquartz/darwinEvents.c
@@ -408,11 +408,10 @@ static void DarwinPrepareValuators(int *valuators, ScreenPtr screen,
 //              valuators[0], valuators[1], valuators[2], valuators[3], valuators[4]);
 }
 
-void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int pointer_y, 
+void DarwinSendPointerEvents(DeviceIntPtr pDev, int ev_type, int ev_button, int pointer_x, int pointer_y, 
 			     float pressure, float tilt_x, float tilt_y) {
 	static int darwinFakeMouseButtonDown = 0;
 	int i, num_events;
-	DeviceIntPtr dev;
     ScreenPtr screen;
     int valuators[5];
 	
@@ -423,12 +422,7 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
 		return;
 	}
 
-	if (pressure == 0 && tilt_x == 0 && tilt_y == 0)
-        dev = darwinPointer;
-	else
-        dev = darwinTabletCurrent;
-
-    screen = miPointerGetScreen(dev);
+    screen = miPointerGetScreen(pDev);
     if(!screen) {
         DEBUG_LOG("DarwinSendPointerEvents called before screen was initialized\n");
         return;
@@ -438,7 +432,7 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
 	if (ev_type == ButtonPress && darwinFakeButtons && ev_button == 1) {
         if(darwinFakeMouseButtonDown != 0) {
             /* We're currently "down" with another button, so release it first */
-            DarwinSendPointerEvents(ButtonRelease, darwinFakeMouseButtonDown, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+            DarwinSendPointerEvents(pDev, ButtonRelease, darwinFakeMouseButtonDown, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
             darwinFakeMouseButtonDown=0;
         }
 		if (darwin_modifier_flags & darwinFakeMouse2Mask) {
@@ -468,9 +462,9 @@ void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int poin
 
     DarwinPrepareValuators(valuators, screen, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
     darwinEvents_lock(); {
-        num_events = GetPointerEvents(darwinEvents, dev, ev_type, ev_button, 
-                                      POINTER_ABSOLUTE, 0, dev==darwinTabletCurrent?5:2, valuators);
-        for(i=0; i<num_events; i++) mieqEnqueue (dev, &darwinEvents[i]);
+        num_events = GetPointerEvents(darwinEvents, pDev, ev_type, ev_button, 
+                                      POINTER_ABSOLUTE, 0, pDev==darwinTabletCurrent?5:2, valuators);
+        for(i=0; i<num_events; i++) mieqEnqueue (pDev, &darwinEvents[i]);
         DarwinPokeEQ();
     } darwinEvents_unlock();
 }
@@ -535,13 +529,13 @@ void DarwinSendScrollEvents(float count_x, float count_y,
 	
 	while ((count_x > 0.0f) || (count_y > 0.0f)) {
 		if (count_x > 0.0f) {
-			DarwinSendPointerEvents(ButtonPress, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
-			DarwinSendPointerEvents(ButtonRelease, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+			DarwinSendPointerEvents(darwinPointer, ButtonPress, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+			DarwinSendPointerEvents(darwinPointer, ButtonRelease, sign_x, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
 			count_x = count_x - 1.0f;
 		}
 		if (count_y > 0.0f) {
-			DarwinSendPointerEvents(ButtonPress, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
-			DarwinSendPointerEvents(ButtonRelease, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+			DarwinSendPointerEvents(darwinPointer, ButtonPress, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
+			DarwinSendPointerEvents(darwinPointer, ButtonRelease, sign_y, pointer_x, pointer_y, pressure, tilt_x, tilt_y);
 			count_y = count_y - 1.0f;
 		}
 	}
diff --git a/hw/xquartz/darwinEvents.h b/hw/xquartz/darwinEvents.h
index 61efa75..003f5fa 100644
--- a/hw/xquartz/darwinEvents.h
+++ b/hw/xquartz/darwinEvents.h
@@ -32,7 +32,7 @@ Bool DarwinEQInit(void);
 void DarwinEQEnqueue(const xEventPtr e);
 void DarwinEQPointerPost(DeviceIntPtr pDev, xEventPtr e);
 void DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX);
-void DarwinSendPointerEvents(int ev_type, int ev_button, int pointer_x, int pointer_y,
+void DarwinSendPointerEvents(DeviceIntPtr pDev, int ev_type, int ev_button, int pointer_x, int pointer_y,
 			     float pressure, float tilt_x, float tilt_y);
 void DarwinSendProximityEvents(int ev_type, int pointer_x, int pointer_y);
 void DarwinSendKeyboardEvents(int ev_type, int keycode);


More information about the xorg-commit mailing list