summaryrefslogtreecommitdiff
path: root/panels/common
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2017-07-13 18:06:46 +0200
committerCarlos Garnacho <carlosg@gnome.org>2017-07-13 18:11:01 +0200
commita23aa64ec7cc45aa6f5a89174ac7fe7d468f90e5 (patch)
tree5228637ce7376ebb407c657b8d1452b6bfd48aee /panels/common
parent3b72790b721fe64d0119030046352904e87c91fa (diff)
downloadgnome-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.c8
-rw-r--r--panels/common/gsd-device-manager-x11.c4
-rw-r--r--panels/common/gsd-input-helper.c5
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;