[gtk+] Fix DND keyboard control with XI2
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Fix DND keyboard control with XI2
- Date: Tue, 7 Aug 2012 03:24:03 +0000 (UTC)
commit 2661403f88af24530e57ada1c552311ae1c6fb26
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Aug 6 22:56:59 2012 -0400
Fix DND keyboard control with XI2
We are using XI2 to grab the key events, but we did not do the
necessary extra work to make GDK deliver root window events to us.
https://bugzilla.gnome.org/show_bug.cgi?id=681006
gtk/gtkdnd.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c
index 27a615e..42f7221 100644
--- a/gtk/gtkdnd.c
+++ b/gtk/gtkdnd.c
@@ -411,6 +411,18 @@ root_key_filter (GdkXEvent *xevent,
if ((ev->type == KeyPress || ev->type == KeyRelease) &&
ev->xkey.root == ev->xkey.window)
ev->xkey.window = (Window)data;
+ else if (ev->type == GenericEvent)
+ {
+ XGenericEventCookie *cookie;
+ XIDeviceEvent *dev;
+
+ cookie = &ev->xcookie;
+ dev = (XIDeviceEvent *) cookie->data;
+
+ if (dev->evtype == XI_KeyPress ||
+ dev->evtype == XI_KeyRelease)
+ dev->event = (Window)data;
+ }
return GDK_FILTER_CONTINUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]