[gtk+] x11: Use client pointer as default core pointer for gtk+2 API



commit 3733e53c1aee4ab8f64d473fab71d60bd5ff1b05
Author: Carlos Garnacho <carlosg gnome org>
Date:   Fri Dec 11 13:16:13 2015 +0100

    x11: Use client pointer as default core pointer for gtk+2 API
    
    There is no need to fiddle with the master devices list.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=759323

 gdk/x11/gdkdisplay-x11.c |   31 +++----------------------------
 1 files changed, 3 insertions(+), 28 deletions(-)
---
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 5816d18..2d04e6c 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -1342,7 +1342,6 @@ gdk_x11_display_init_input (GdkDisplay *display)
   GdkDeviceManager *device_manager;
   GdkDevice *device;
   GList *list, *l;
-  gint pass;
 
   display_x11 = GDK_X11_DISPLAY (display);
   device_manager = gdk_display_get_device_manager (display);
@@ -1365,33 +1364,9 @@ gdk_x11_display_init_input (GdkDisplay *display)
 
   g_list_free (list);
 
-  /* Now set "core" pointer to the first
-   * master device that is a pointer,
-   * preferring mice over touchscreens.
-   */
-  list = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER);
-
-  for (pass = 0; pass < 2; pass++)
-    {
-      for (l = list; l; l = l->next)
-        {
-          device = l->data;
-
-          if ((pass == 0 && gdk_device_get_source (device) == GDK_SOURCE_MOUSE) ||
-              (pass == 1 && gdk_device_get_source (device) == GDK_SOURCE_TOUCHSCREEN))
-            {
-              display->core_pointer = device;
-
-              /* Add the core pointer to the devices list */
-              display_x11->input_devices = g_list_prepend (display_x11->input_devices,
-                                                           g_object_ref (display->core_pointer));
-              goto out;
-            }
-        }
-    }
-
-out:
-  g_list_free (list);
+  display->core_pointer = gdk_device_manager_get_client_pointer (device_manager);
+  display_x11->input_devices = g_list_prepend (display_x11->input_devices,
+                                               g_object_ref (display->core_pointer));
 }
 
 static void


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