diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-07-13 18:06:46 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-07-13 18:11:01 +0200 |
commit | a23aa64ec7cc45aa6f5a89174ac7fe7d468f90e5 (patch) | |
tree | 5228637ce7376ebb407c657b8d1452b6bfd48aee /panels/common | |
parent | 3b72790b721fe64d0119030046352904e87c91fa (diff) | |
download | gnome-control-center-a23aa64ec7cc45aa6f5a89174ac7fe7d468f90e5.tar.gz |
common: Update from gnome-settings-daemon
Diffstat (limited to 'panels/common')
-rw-r--r-- | panels/common/gsd-device-manager-udev.c | 8 | ||||
-rw-r--r-- | panels/common/gsd-device-manager-x11.c | 4 | ||||
-rw-r--r-- | 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; |