diff options
author | Danny Kukawka <danny.kukawka@web.de> | 2010-03-11 13:36:43 +0100 |
---|---|---|
committer | Danny Kukawka <danny.kukawka@web.de> | 2010-03-11 13:50:09 +0100 |
commit | 5e9f8157186a797e9a435e74c250a0f31d08314a (patch) | |
tree | f833608ee9d47e0b9f3164d96ccbd7ac8da58404 | |
parent | 56a5fa9b84d6d1591876f21387fd25a70125aa55 (diff) |
fix drm_compute_udi()
Fix drm_compute_udi() to prevent such udi's:
/org/freedesktop/Hal/devices/pci_1002_71c5_drm__null__card0
Use drm.dri_library only if the property is really set.
-rw-r--r-- | hald/linux/device.c | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/hald/linux/device.c b/hald/linux/device.c index 8a8f100f..65c95c63 100644 --- a/hald/linux/device.c +++ b/hald/linux/device.c @@ -600,12 +600,19 @@ drm_compute_udi (HalDevice *d) name = hal_util_get_last_element(dir); - /* generate e.g.: /org/freedesktop/Hal/devices/pci_8086_2a02_drm_i915_card0 */ - hald_compute_udi (udi, sizeof (udi), - "%s_drm_%s_%s", - hal_device_property_get_string (d, "info.parent"), - hal_device_property_get_string (d, "drm.dri_library"), - name); + if (hal_device_has_property (d, "drm.dri_library")) { + /* generate e.g.: /org/freedesktop/Hal/devices/pci_8086_2a02_drm_i915_card0 */ + hald_compute_udi (udi, sizeof (udi), + "%s_drm_%s_%s", + hal_device_property_get_string (d, "info.parent"), + hal_device_property_get_string (d, "drm.dri_library"), + name); + } else { + hald_compute_udi (udi, sizeof (udi), + "%s_drm_%s", + hal_device_property_get_string (d, "info.parent"), + name); + } hal_device_set_udi (d, udi); |