[gnome-settings-daemon/gnome-3-24] common: Try harder to get devices' vendor/product from udev



commit 3d77b4caa18589effa3d7d450f4eaf891520f739
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Jun 29 15:43:31 2017 +0200

    common: Try harder to get devices' vendor/product from udev
    
    If the device has no ID_VENDOR_ID/ID_MODEL_ID udev properties, resort
    to reading those from sysfs attributes.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=784341

 plugins/common/gsd-device-manager-udev.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/plugins/common/gsd-device-manager-udev.c b/plugins/common/gsd-device-manager-udev.c
index 3fb378e..f83f433 100644
--- a/plugins/common/gsd-device-manager-udev.c
+++ b/plugins/common/gsd-device-manager-udev.c
@@ -90,6 +90,12 @@ 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_HEIGHT_MM");
 


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