[gimp] app: add and use gimp_device_info_get_device()



commit 9617f42d13ccb11f326116398cf2d1891a6882c8
Author: Michael Natterer <mitch gimp org>
Date:   Sat Feb 13 17:31:33 2010 +0100

    app: add and use gimp_device_info_get_device()

 app/widgets/gimpdeviceinfo.c   |   12 ++++++++++++
 app/widgets/gimpdeviceinfo.h   |    2 ++
 app/widgets/gimpdevicestatus.c |   12 ++++++++----
 3 files changed, 22 insertions(+), 4 deletions(-)
---
diff --git a/app/widgets/gimpdeviceinfo.c b/app/widgets/gimpdeviceinfo.c
index 1baa802..5dab018 100644
--- a/app/widgets/gimpdeviceinfo.c
+++ b/app/widgets/gimpdeviceinfo.c
@@ -503,6 +503,18 @@ gimp_device_info_new (Gimp       *gimp,
                        NULL);
 }
 
+GdkDevice *
+gimp_device_info_get_device (GimpDeviceInfo  *info,
+                             GdkDisplay     **display)
+{
+  g_return_val_if_fail (GIMP_IS_DEVICE_INFO (info), NULL);
+
+  if (display)
+    *display = info->display;
+
+  return info->device;
+}
+
 void
 gimp_device_info_set_device (GimpDeviceInfo *info,
                              GdkDevice      *device,
diff --git a/app/widgets/gimpdeviceinfo.h b/app/widgets/gimpdeviceinfo.h
index d83719a..0d104d2 100644
--- a/app/widgets/gimpdeviceinfo.h
+++ b/app/widgets/gimpdeviceinfo.h
@@ -75,6 +75,8 @@ GimpDeviceInfo * gimp_device_info_new               (Gimp            *gimp,
                                                      GdkDevice       *device,
                                                      GdkDisplay      *display);
 
+GdkDevice      * gimp_device_info_get_device        (GimpDeviceInfo  *info,
+                                                     GdkDisplay     **display);
 void             gimp_device_info_set_device        (GimpDeviceInfo  *info,
                                                      GdkDevice       *device,
                                                      GdkDisplay      *display);
diff --git a/app/widgets/gimpdevicestatus.c b/app/widgets/gimpdevicestatus.c
index 8a5aded..e1c8bd3 100644
--- a/app/widgets/gimpdevicestatus.c
+++ b/app/widgets/gimpdevicestatus.c
@@ -231,7 +231,7 @@ gimp_device_status_device_add (GimpContainer    *devices,
   gchar                 *name;
 
   /*  only list present devices  */
-  if (! device_info->device)
+  if (! gimp_device_info_get_device (device_info, NULL))
     return;
 
   entry = g_slice_new0 (GimpDeviceStatusEntry);
@@ -415,10 +415,12 @@ gimp_device_status_update (GimpDeviceStatus *status)
   for (list = status->devices; list; list = list->next)
     {
       GimpDeviceStatusEntry *entry = list->data;
+      GdkDevice             *device;
+
+      device = gimp_device_info_get_device (entry->device_info, NULL);
 
       gtk_widget_set_visible (entry->arrow,
-                              entry->device_info->device &&
-                              entry->device_info->device == status->current_device);
+                              device && device == status->current_device);
     }
 }
 
@@ -429,7 +431,9 @@ static void
 gimp_device_status_update_entry (GimpDeviceInfo        *device_info,
                                  GimpDeviceStatusEntry *entry)
 {
-  if (! device_info->device || device_info->device->mode == GDK_MODE_DISABLED)
+  GdkDevice *device = gimp_device_info_get_device (device_info, NULL);
+
+  if (! device || device->mode == GDK_MODE_DISABLED)
     {
       gtk_widget_hide (entry->table);
     }



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