Commit Graph

28 Commits

Author SHA1 Message Date
Peter Hutterer
49046088f1 config: don't shutdown the libhal ctx if it failed to initialize (#23213)
Regression introduced by b1c3dc6ae2.
Shutting down the libhal_ctx if the init failed may cause an abort.
This can happen if hald is not yet running at server startup.

X.Org Bug 23213 <http://bugs.freedesktop.org/show_bug.cgi?id=23213>

Tested-by: Stefan Dirsch
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-08-14 11:01:20 +10:00
Rémi Cardona
b1c3dc6ae2 config: add HAL error checks
This patch simplifies error handling in the HAL code and fixes a
segfault if libhal_find_device_by_capability() failed.

Fixes http://bugs.gentoo.org/278760

Based on a patch by Martin von Gagern <Martin.vGagern@gmx.net>

Signed-off-by: Rémi Cardona <remi@gentoo.org>
Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-07-28 11:58:45 +02:00
Alan Coopersmith
1e816065e5 Don't printf NULL pointers on HAL connection error
Fixes Solaris bug 6801386 Xorg core dumps on startup if hald not running
http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6801386

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-05-08 21:31:01 -07:00
Peter Hutterer
4844bff58f config: if we can't connect to HAL, listen for a startup notification.
If HAL isn't available when we try to connect, the registered NameOwnerChanged
signal handler waits until HAL is available. Once we connected to HAL, we
unregister the signal handler again.
This allows HAL to be started in parallel or after the server has started.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2009-02-10 15:01:44 +10:00
Alan Coopersmith
b4ca9dc239 When HAL returns a NULL property, print "(null)" instead of a NULL pointer
They've promised to fix Solaris printf soon to check for NULL pointers
instead of segfaulting, but that won't help people on existing releases.
2008-11-05 21:58:30 -08:00
Peter Hutterer
6c45185955 config: don't add duplicate devices through HAL.
If HAL is restarted, the device list is sent to the server again, leading
first to duplicate devices (and thus duplicate events), and later to a
FatalError "Too many input devices."

dev->config_info contains the UDI for the device. If the UDI of a new devices
is equal to one we already have in the device list, just ignore it.

Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
2008-10-29 11:55:44 +10:30
Peter Hutterer
e58be0f342 config: print error code if NIDR fails. 2008-09-26 09:33:39 +09:30
Peter Hutterer
3c6a9c531f config: protect against potential out-of-bounds indexing. 2008-08-04 15:15:16 +09:30
Peter Hutterer
92c51b183c config: support type strlist for XkbOptions property.
For backwards compatibility with server 1.4.
2008-08-04 15:15:09 +09:30
Peter Hutterer
35b14519b4 config: add parsing for input.x11_options.XkbOptions. #16874
X.Org Bug 16874 <http://bugs.freedesktop.org/show_bug.cgi?id=16784>
2008-08-04 15:14:05 +09:30
Daniel Stone
b8dd07f855 HAL: Remove grotesque open-coded strcasestr
Not only was this pretty ugly, but it didn't even work on systems
without strcasestr anyway, due to the define not being in dix-config.h.
Lack of strcasestr is handled transparently with the version from
FreeBSD now anyway, so, huzzah.
2008-07-16 03:02:20 +03:00
Peter Hutterer
5ebe76f13f config: init dev to NULL to shut up a valgrind warning. 2008-06-02 10:26:03 +09:30
Adam Jackson
f52f6c5c7e Fix hal shutdown crash.
Removing the device invalidates its ->next pointer.  Copy it aside before
destroying the device.
2008-05-16 09:49:20 -04:00
Alan Coopersmith
ed65e8b4f0 Check for strcasestr and workaround it on systems without it 2008-05-12 18:50:04 -07:00
Peter Hutterer
ff013b0da4 config: override xkb_{r,m,l,v} with Xkb{r,m,l,v} if the latter is set.
The HAL spec says that input.xkb.{rmlv}* can be sent, but if the user
specifies a X-specific {rmlv}, then this is overridden through the use of
input.x11_options.Xkb{RMLV}.
However, the way how the server parses options--by ignoring capitalisation,
underscores and spaces--the HAL and the x11_options would override each other.

So we simply filter the options, letting Xkb{RMLV} override xkb_{rmlv} and
only actually add them to the device after parsing _all_ options.

* rmlv ... rules, model, layout, variant

See Bug 13037 <http://bugs.freedesktop.org/show_bug.cgi?id=13037>
(cherry picked from commit fc35d1e3be)
2008-05-09 10:09:35 +09:30
Peter Hutterer
901978ebe0 config: remove trailing whitespaces.
It makes my vim look ugly. Put "let c_space_errors=1" into your .vimrc.
(cherry picked from commit 1f54c05cf8)
2008-05-09 10:09:25 +09:30
Sascha Hlusiak
47eb658e80 Support to pass arbitrary options via HAL hotplugging
Parse "input.x11_options" and pass every key/name pair to the driver.
Remove check for input.capabilities, because that's part of the fdi files.

Thanks to Dustin Spicuzza <dustin@virtualroadside.com> for the patch.
2008-03-25 17:37:25 +01:00
Peter Hutterer
f0ba770716 config: only shutdown libhal if the connection is valid.
Thanks to libdbus' extensive use of assert we won't just get an error, it'll
bring the whole server down for us.
(cherry picked from commit fb07fab2c0)
2008-01-29 09:13:25 +10:30
Peter Hutterer
2cb0ebec2b config: add a debug message, fix a whitespace error.
(cherry picked from commit 7732898aaa)
2008-01-29 09:13:25 +10:30
Daniel Stone
190a050624 Config: HAL: Don't leak options on failure to add device
This showed up in Xephyr in particular, which denies new device requests.
2007-12-28 15:51:36 +02:00
Fatih Aşıcı
009f1e4e55 Config: Don't forget to add xkb_rules option 2007-12-26 02:08:12 +01:00
Fatih Aşıcı
389e8917f6 Config: Fix a memory leak 2007-12-26 02:07:52 +01:00
Kanru Chen
a8e27a108a Config: HAL: Fix XKB option parsing
Actually combine the XKB options into a string, rather than just repeatedly
writing a comma.
2007-12-05 18:29:54 +00:00
Markku Vire
3f1b6765aa Config: HAL: Touchpads are pointers too
Treat touchpads -- not just mice -- as pointer devices.
2007-11-04 16:46:21 +00:00
Daniel Stone
30259d5a4e Hotplug: HAL: Fix error handling
Don't use our DBusError for property getting, because we simply don't care:
this fixes D-Bus error spew to stderr.  Thanks Michel Dänzer for debugging
and testing.
2007-08-08 01:34:59 +03:00
Daniel Stone
aef255425a Config: HAL: Use input.xkb namespace
Use an explicit input.xkb.foo namespace, not input.xkb_foo.
2007-08-08 01:34:59 +03:00
Daniel Stone
1150969b82 Convert all my license statements to the standard form
Convert all my license statements to the standard, accepted form:
cf. <20070717142307.GD13478@fooishbar.org>
    http://lists.freedesktop.org/archives/xorg/2007-July/026451.html

keithp's license on configure.ac changed with his verbal permission.
2007-08-01 01:53:31 +03:00
Daniel Stone
8658f5d923 Hotplug: Add HAL support
Add support for HAL-based hotplugging, in which we just get the list of
input devices and properties from HAL.  Requires an FDI which is not yet
in mainline HAL.
2007-08-01 01:53:31 +03:00