summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Kukawka <danny.kukawka@web.de>2010-03-11 13:36:43 +0100
committerDanny Kukawka <danny.kukawka@web.de>2010-03-11 13:50:09 +0100
commit5e9f8157186a797e9a435e74c250a0f31d08314a (patch)
treef833608ee9d47e0b9f3164d96ccbd7ac8da58404
parent56a5fa9b84d6d1591876f21387fd25a70125aa55 (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.c19
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);