[wintab32 7/7] Correctly handle devices with a device id of 0.

Jeremy White jwhite at winehq.org
Sun Dec 23 10:56:16 CST 2007


The XInput macros such as DeviceMotionNotify will correctly return an eventclass of 0
if the device id is 0.  Given that, we cannot use eventclass != 0 as a meaningful
test, and must instead use the returned type.
---
 dlls/winex11.drv/wintab.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index 288a2a2..56b7d6e 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -849,19 +849,19 @@ int X11DRV_AttachEventQueueToTablet(HWND hOwner)
         if (the_device->num_classes > 0)
         {
             DeviceKeyPress(the_device, key_press_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (key_press_type) event_number++;
             DeviceKeyRelease(the_device, key_release_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (key_release_type) event_number++;
             DeviceButtonPress(the_device, button_press_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (button_press_type) event_number++;
             DeviceButtonRelease(the_device, button_release_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (button_release_type) event_number++;
             DeviceMotionNotify(the_device, motion_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (motion_type) event_number++;
             ProximityIn(the_device, proximity_in_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (proximity_in_type) event_number++;
             ProximityOut(the_device, proximity_out_type, event_list[event_number]);
-            if (event_list[event_number]) event_number++;
+            if (proximity_out_type) event_number++;

             if (key_press_type) X11DRV_register_event_handler( key_press_type, key_event );
             if (key_release_type) X11DRV_register_event_handler( key_release_type, key_event );
-- 
1.5.3.7




More information about the wine-patches mailing list