[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