From a23aa64ec7cc45aa6f5a89174ac7fe7d468f90e5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 13 Jul 2017 18:06:46 +0200 Subject: [PATCH] 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 fdda02a55..aa9304232 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 137f83a61..a2704d1a5 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 077ff1c92..410059995 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;