[gtk+/xi2: 1098/1239] Add GDK_CORE_DEVICE_EVENTS envvar to force core events for devices.



commit 20652d6d252312a0b0167fdfdf19aa66fdd822e9
Author: Carlos Garnacho <carlos gnome org>
Date:   Thu Sep 10 02:12:55 2009 +0200

    Add GDK_CORE_DEVICE_EVENTS envvar to force core events for devices.

 gdk/x11/gdkdevicemanager-x11.c |   38 ++++++++++++++++++++------------------
 1 files changed, 20 insertions(+), 18 deletions(-)
---
diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c
index 47dc4a7..b18d6b9 100644
--- a/gdk/x11/gdkdevicemanager-x11.c
+++ b/gdk/x11/gdkdevicemanager-x11.c
@@ -33,33 +33,35 @@ _gdk_device_manager_new (GdkDisplay *display)
   int major, minor;
   Display *xdisplay;
 
+  if (G_UNLIKELY (!g_getenv ("GDK_CORE_DEVICE_EVENTS")))
+    {
 #if defined (XINPUT_2) || defined (XINPUT_XFREE)
-  xdisplay = GDK_DISPLAY_XDISPLAY (display);
+      xdisplay = GDK_DISPLAY_XDISPLAY (display);
 
-  if (XQueryExtension (xdisplay, "XInputExtension",
-                       &opcode, &firstevent, &firsterror))
-    {
+      if (XQueryExtension (xdisplay, "XInputExtension",
+                           &opcode, &firstevent, &firsterror))
+        {
 #if defined (XINPUT_2)
-      major = 2;
-      minor = 0;
+          major = 2;
+          minor = 0;
 
-      if (XIQueryVersion (xdisplay, &major, &minor) != BadRequest)
-        {
-          GdkDeviceManagerXI2 *device_manager_xi2;
+          if (XIQueryVersion (xdisplay, &major, &minor) != BadRequest)
+            {
+              GdkDeviceManagerXI2 *device_manager_xi2;
 
-          device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_XI2,
-                                         "display", display,
-                                         NULL);
+              device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_XI2,
+                                             "display", display,
+                                             NULL);
 
-          device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (device_manager);
-          device_manager_xi2->opcode = opcode;
+              device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (device_manager);
+              device_manager_xi2->opcode = opcode;
 
-          return device_manager;
-        }
+              return device_manager;
+            }
 #endif
-    }
-
+        }
 #endif /* XINPUT_2 || XINPUT_XFREE */
+    }
 
   return g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE,
                        "display", display,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]