diff options
author | marha <marha@users.sourceforge.net> | 2010-02-14 13:47:55 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-02-14 13:47:55 +0000 |
commit | 8d38172d866775594af3185ae3fbd8d750677650 (patch) | |
tree | 2514d176474cc8adf7911a57724cc681c1359b47 /xorg-server/config/hal.c | |
parent | 26f62ef5ccd04fa3a55632d808ca6e1061cfb983 (diff) | |
download | vcxsrv-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.c | 9 |
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); |