diff options
author | rnoland <rnoland@FreeBSD.org> | 2009-01-24 15:26:34 +0800 |
---|---|---|
committer | rnoland <rnoland@FreeBSD.org> | 2009-01-24 15:26:34 +0800 |
commit | 6aae8bccb732e707833b4299a1d5655952a15bc8 (patch) | |
tree | 44b7510965a5d9cb11d421752399f6c2b96a291b /sysutils/hal | |
parent | 782a89e724ffd41aefbe1a2ebcafec55abb595f0 (diff) | |
download | freebsd-ports-gnome-6aae8bccb732e707833b4299a1d5655952a15bc8.tar.gz freebsd-ports-gnome-6aae8bccb732e707833b4299a1d5655952a15bc8.tar.zst freebsd-ports-gnome-6aae8bccb732e707833b4299a1d5655952a15bc8.zip |
When changing the input.device property we need to remove the property
first. If we don't, consumers seem to get the old value. This seems to
make Xorg happy with mouse detection now. This should work with or
without moused enabled.
Approved by: marcus, garga (mentor, implicit)
Diffstat (limited to 'sysutils/hal')
-rw-r--r-- | sysutils/hal/Makefile | 2 | ||||
-rw-r--r-- | sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi | 4 | ||||
-rw-r--r-- | sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c | 29 |
3 files changed, 9 insertions, 26 deletions
diff --git a/sysutils/hal/Makefile b/sysutils/hal/Makefile index d3372ff0fe02..a5716f331744 100644 --- a/sysutils/hal/Makefile +++ b/sysutils/hal/Makefile @@ -8,7 +8,7 @@ PORTNAME= hal DISTVERSION= 0.5.11 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= sysutils MASTER_SITES= http://hal.freedesktop.org/releases/ diff --git a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi b/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi index 00781db1dd6d..b4fd8b3ff74c 100644 --- a/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi +++ b/sysutils/hal/files/patch-fdi_policy_10osvendor_10-x11-input.fdi @@ -1,5 +1,5 @@ ---- fdi/policy/10osvendor/10-x11-input.fdi.orig 2008-09-24 14:32:26.000000000 +0100 -+++ fdi/policy/10osvendor/10-x11-input.fdi 2008-09-24 14:34:22.000000000 +0100 +--- fdi/policy/10osvendor/10-x11-input.fdi.orig 2008-05-07 19:21:15.000000000 -0400 ++++ fdi/policy/10osvendor/10-x11-input.fdi 2009-01-23 18:20:10.000000000 -0500 @@ -1,19 +1,10 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <deviceinfo version="0.2"> diff --git a/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c b/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c index 70da9b2af8c6..2503e946c4ca 100644 --- a/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c +++ b/sysutils/hal/files/patch-hald_freebsd_addons_addon-mouse.c @@ -1,6 +1,6 @@ ---- hald/freebsd/addons/addon-mouse.c.orig 2008-12-21 01:15:41.000000000 -0500 -+++ hald/freebsd/addons/addon-mouse.c 2008-12-21 01:17:03.000000000 -0500 -@@ -0,0 +1,336 @@ +--- hald/freebsd/addons/addon-mouse.c.orig 2009-01-24 02:12:21.000000000 -0500 ++++ hald/freebsd/addons/addon-mouse.c 2009-01-24 02:14:11.000000000 -0500 +@@ -0,0 +1,319 @@ +/*************************************************************************** + * CVSID: $Id$ + * @@ -52,7 +52,6 @@ +#define MOUSE_DRIVER "mouse" +#define MOUSED_DEVICE "/dev/sysmouse" +#define MOUSED_PROC_NAME "moused" -+#define XORG_PROC_NAME "Xorg" + +static struct +{ @@ -244,7 +243,6 @@ +static void +poll_for_moused (void) +{ -+ char *driver; + char *old_device; + const char *device; + gboolean found; @@ -255,30 +253,15 @@ + device = get_mouse_device(addon.device_file); + if (strcmp(old_device, device)) + { ++ libhal_device_remove_property(hfp_ctx, hfp_udi, "input.device", &hfp_error); ++ dbus_error_free(&hfp_error); + libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.device", device, &hfp_error); + dbus_error_free(&hfp_error); + } + g_free(old_device); + -+ driver = libhal_device_get_property_string(hfp_ctx, hfp_udi, "input.x11_driver", &hfp_error); ++ libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.x11_driver", MOUSE_DRIVER, &hfp_error); + dbus_error_free(&hfp_error); -+ -+ found = (strcmp(device, MOUSED_DEVICE) == 0); -+ if (! found) -+ found = device_opened_by_proc(device, XORG_PROC_NAME); -+ -+ if (found && driver) -+ { -+ libhal_device_remove_property(hfp_ctx, hfp_udi, "input.x11_driver", &hfp_error); -+ dbus_error_free(&hfp_error); -+ } -+ else if (! (found || driver)) -+ { -+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "input.x11_driver", MOUSE_DRIVER, &hfp_error); -+ dbus_error_free(&hfp_error); -+ } -+ -+ g_free(driver); +} + +int |