[gtk+/xi2: 1228/1239] GdkDeviceManagerXI: Ignore non-extension devices.



commit 2dfa2821ecda52b5d4f80a66c1c30db823d3a16b
Author: Carlos Garnacho <carlos gnome org>
Date:   Sat Sep 26 19:34:47 2009 +0200

    GdkDeviceManagerXI: Ignore non-extension devices.

 gdk/x11/gdkdevicemanager-xi.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c
index 86d3f2a..3113246 100644
--- a/gdk/x11/gdkdevicemanager-xi.c
+++ b/gdk/x11/gdkdevicemanager-xi.c
@@ -190,6 +190,10 @@ create_device (GdkDisplay  *display,
 {
   GdkDevice *device;
 
+  if (info->use != IsXExtensionPointer &&
+      info->use != IsXExtensionKeyboard)
+    return NULL;
+
   device = g_object_new (GDK_TYPE_DEVICE_XI,
                          "name", info->name,
                          "input-source", GDK_SOURCE_MOUSE,
@@ -220,11 +224,14 @@ gdk_device_manager_xi_constructed (GObject *object)
       GdkDevice *device;
 
       device = create_device (display, &devices[i]);
-      priv->devices = g_list_prepend (priv->devices, device);
 
-      g_hash_table_insert (priv->id_table,
-                           GINT_TO_POINTER (devices[i].id),
-                           device);
+      if (device)
+        {
+          priv->devices = g_list_prepend (priv->devices, device);
+          g_hash_table_insert (priv->id_table,
+                               GINT_TO_POINTER (devices[i].id),
+                               device);
+        }
     }
 
   XFreeDeviceList(devices);



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