[gnome-control-center] common: Update from gnome-settings-daemon



commit a23aa64ec7cc45aa6f5a89174ac7fe7d468f90e5
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Jul 13 18:06:46 2017 +0200

    common: Update from gnome-settings-daemon

 panels/common/gsd-device-manager-udev.c |    8 +++++++-
 panels/common/gsd-device-manager-x11.c  |    4 +---
 panels/common/gsd-input-helper.c        |    5 +++++
 3 files changed, 13 insertions(+), 4 deletions(-)
---
diff --git a/panels/common/gsd-device-manager-udev.c b/panels/common/gsd-device-manager-udev.c
index fdda02a..aa93042 100644
--- a/panels/common/gsd-device-manager-udev.c
+++ b/panels/common/gsd-device-manager-udev.c
@@ -92,8 +92,14 @@ create_device (GUdevDevice *udev_device)
        name = g_udev_device_get_sysfs_attr (parent, "name");
        vendor = g_udev_device_get_property (udev_device, "ID_VENDOR_ID");
        product = g_udev_device_get_property (udev_device, "ID_MODEL_ID");
+
+       if (!vendor || !product) {
+               vendor = g_udev_device_get_sysfs_attr (udev_device, "device/id/vendor");
+               product = g_udev_device_get_sysfs_attr (udev_device, "device/id/product");
+       }
+
        width = g_udev_device_get_property_as_int (udev_device, "ID_INPUT_WIDTH_MM");
-       height = g_udev_device_get_property_as_int (udev_device, "ID_INPUT_WIDTH_MM");
+       height = g_udev_device_get_property_as_int (udev_device, "ID_INPUT_HEIGHT_MM");
 
        device = g_object_new (GSD_TYPE_DEVICE,
                               "name", name,
diff --git a/panels/common/gsd-device-manager-x11.c b/panels/common/gsd-device-manager-x11.c
index 137f83a..a2704d1 100644
--- a/panels/common/gsd-device-manager-x11.c
+++ b/panels/common/gsd-device-manager-x11.c
@@ -145,10 +145,8 @@ remove_device (GsdX11DeviceManager *manager,
 
        device = g_hash_table_lookup (manager->devices, device_file);
 
-       if (device)
-               g_object_ref (device);
-
        if (device) {
+               g_object_ref (device);
                g_signal_emit_by_name (manager, "device-removed", device);
                g_object_unref (device);
        }
diff --git a/panels/common/gsd-input-helper.c b/panels/common/gsd-input-helper.c
index 077ff1c..4100599 100644
--- a/panels/common/gsd-input-helper.c
+++ b/panels/common/gsd-input-helper.c
@@ -392,9 +392,14 @@ xdevice_get_dimensions (int    deviceid,
         guint *value, w, h;
         int i, n_info;
 
+        gdk_error_trap_push ();
+
         info = XIQueryDevice (GDK_DISPLAY_XDISPLAY (display), deviceid, &n_info);
         *width = *height = w = h = 0;
 
+        if (gdk_error_trap_pop ())
+                return FALSE;
+
         if (!info)
                 return FALSE;
 


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