[gimp/gtk3-port: 51/235] app: use GdkDeviceManager to list devices



commit 05e0ba1fba5d2c5d95ff34a66dc2ec0386a8488e
Author: Michael Natterer <mitch gimp org>
Date:   Tue Oct 19 13:55:42 2010 +0200

    app: use GdkDeviceManager to list devices

 app/widgets/gimptoolbox.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/app/widgets/gimptoolbox.c b/app/widgets/gimptoolbox.c
index 4e81173..6a0bd6c 100644
--- a/app/widgets/gimptoolbox.c
+++ b/app/widgets/gimptoolbox.c
@@ -195,11 +195,13 @@ gimp_toolbox_init (GimpToolbox *toolbox)
 static void
 gimp_toolbox_constructed (GObject *object)
 {
-  GimpToolbox   *toolbox = GIMP_TOOLBOX (object);
-  GimpGuiConfig *config;
-  GtkWidget     *main_vbox;
-  GdkDisplay    *display;
-  GList         *list;
+  GimpToolbox      *toolbox = GIMP_TOOLBOX (object);
+  GimpGuiConfig    *config;
+  GtkWidget        *main_vbox;
+  GdkDisplay       *display;
+  GdkDeviceManager *manager;
+  GList            *devices;
+  GList            *list;
 
   g_assert (GIMP_IS_CONTEXT (toolbox->p->context));
 
@@ -279,10 +281,16 @@ gimp_toolbox_constructed (GObject *object)
    * manually that all devices have a cursor, before establishing the check.
    */
   display = gtk_widget_get_display (GTK_WIDGET (toolbox));
-  for (list = gdk_display_list_devices (display); list; list = list->next)
+  manager = gdk_display_get_device_manager (display);
+
+  devices = gdk_device_manager_list_devices (manager, GDK_DEVICE_TYPE_MASTER);
+
+  for (list = devices; list; list = g_list_next (list))
     if (! ((GdkDevice *) (list->data))->has_cursor)
       break;
 
+  g_list_free (devices);
+
   if (! list)  /* all devices have cursor */
     {
       gtk_widget_add_events (GTK_WIDGET (toolbox), GDK_POINTER_MOTION_MASK);



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