[gtk+/xi2] GdkDeviceManagerXI2: respect GDK_MODE_WINDOW.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/xi2] GdkDeviceManagerXI2: respect GDK_MODE_WINDOW.
- Date: Sun, 4 Oct 2009 10:33:13 +0000 (UTC)
commit 283c7d5d0d384da472181e830bbfa6576408995a
Author: Carlos Garnacho <carlos gnome org>
Date: Fri Oct 2 18:22:17 2009 +0200
GdkDeviceManagerXI2: respect GDK_MODE_WINDOW.
gdk/x11/gdkdevicemanager-xi2.c | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
index ef2ce08..0945fcc 100644
--- a/gdk/x11/gdkdevicemanager-xi2.c
+++ b/gdk/x11/gdkdevicemanager-xi2.c
@@ -959,6 +959,15 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->button.window,
&xev->valuators);
+ if (event->button.device->mode == GDK_MODE_WINDOW)
+ {
+ GdkDevice *device = event->button.device;
+
+ /* Update event coordinates from axes */
+ gdk_device_get_axis (device, event->button.axes, GDK_AXIS_X, &event->button.x);
+ gdk_device_get_axis (device, event->button.axes, GDK_AXIS_Y, &event->button.y);
+ }
+
event->button.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons);
event->button.button = xev->detail;
}
@@ -1000,6 +1009,15 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator,
event->motion.y,
event->motion.window,
&xev->valuators);
+
+ if (event->motion.device->mode == GDK_MODE_WINDOW)
+ {
+ GdkDevice *device = event->motion.device;
+
+ /* Update event coordinates from axes */
+ gdk_device_get_axis (device, event->motion.axes, GDK_AXIS_X, &event->motion.x);
+ gdk_device_get_axis (device, event->motion.axes, GDK_AXIS_Y, &event->motion.y);
+ }
}
break;
case XI_Enter:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]