[gtk+/xi2] Make gdk_event_set_device() also set non-private device.
- From: Carlos Garnacho <carlosg src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [gtk+/xi2] Make gdk_event_set_device() also set non-private device.
- Date: Thu, 21 Jan 2010 00:51:37 +0000 (UTC)
commit 9a843eead76db332e77c8c848a4d908e2da37522
Author: Carlos Garnacho <carlos gnome org>
Date: Thu Jan 21 01:45:02 2010 +0100
Make gdk_event_set_device() also set non-private device.
For GdkEvents with a public GdkDevice field, it's now also
set through this function.
gdk/gdkevents.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
---
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 7d8684b..61d5059 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -935,12 +935,34 @@ gdk_event_set_device (GdkEvent *event,
GdkDevice *device)
{
GdkEventPrivate *private;
-
+
g_return_if_fail (gdk_event_is_allocated (event));
private = (GdkEventPrivate *) event;
-
+
private->device = device;
+
+ switch (event->type)
+ {
+ case GDK_MOTION_NOTIFY:
+ event->motion.device = device;
+ break;
+ case GDK_BUTTON_PRESS:
+ case GDK_2BUTTON_PRESS:
+ case GDK_3BUTTON_PRESS:
+ case GDK_BUTTON_RELEASE:
+ event->button.device = device;
+ break;
+ case GDK_SCROLL:
+ event->scroll.device = device;
+ break;
+ case GDK_PROXIMITY_IN:
+ case GDK_PROXIMITY_OUT:
+ event->proximity.device = device;
+ break;
+ default:
+ break;
+ }
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]