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:36:43 +0100
commitd42ba7af860b08c9c9246703643d1110f6efc22c (patch)
tree79772ea13931403537acc6941059d71be23022f0
parent96a4b208757d5bd922571c04f9b2d85bba8ed10f (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 6ee20b86..c61cc690 100644
--- a/hald/linux/device.c
+++ b/hald/linux/device.c
@@ -557,12 +557,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);