aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/config/hal.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-02-14 13:47:55 +0000
committermarha <marha@users.sourceforge.net>2010-02-14 13:47:55 +0000
commit8d38172d866775594af3185ae3fbd8d750677650 (patch)
tree2514d176474cc8adf7911a57724cc681c1359b47 /xorg-server/config/hal.c
parent26f62ef5ccd04fa3a55632d808ca6e1061cfb983 (diff)
downloadvcxsrv-8d38172d866775594af3185ae3fbd8d750677650.tar.gz
vcxsrv-8d38172d866775594af3185ae3fbd8d750677650.tar.bz2
vcxsrv-8d38172d866775594af3185ae3fbd8d750677650.zip
Updated to xorg-server-1.7.99.901
Diffstat (limited to 'xorg-server/config/hal.c')
-rw-r--r--xorg-server/config/hal.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/xorg-server/config/hal.c b/xorg-server/config/hal.c
index 1b01eccaa..d3daa84cd 100644
--- a/xorg-server/config/hal.c
+++ b/xorg-server/config/hal.c
@@ -164,6 +164,7 @@ device_added(LibHalContext *hal_ctx, const char *udi)
attrs.product = xstrdup(name);
attrs.vendor = get_prop_string(hal_ctx, udi, "info.vendor");
+ attrs.tags = xstrtokenize(get_prop_string(hal_ctx, udi, "input.tags"), ",");
if (libhal_device_query_capability(hal_ctx, udi, "input.keys", NULL))
attrs.flags |= ATTR_KEYBOARD;
@@ -391,6 +392,14 @@ unwind:
xfree(attrs.product);
xfree(attrs.vendor);
xfree(attrs.device);
+ if (attrs.tags) {
+ char **tag = attrs.tags;
+ while (*tag) {
+ xfree(*tag);
+ tag++;
+ }
+ xfree(attrs.tags);
+ }
if (xkb_opts.layout)
xfree(xkb_opts.layout);