GNU bug report logs -
#9581
24.0.50; dbus-unregister-object fails if service is nil
Previous Next
Reported by: Julien Danjou <julien <at> danjou.info>
Date: Thu, 22 Sep 2011 23:02:01 UTC
Severity: normal
Found in version 24.0.50
Done: Michael Albinus <michael.albinus <at> gmx.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
On Sat, Sep 24 2011, Michael Albinus wrote:
> I've committed a fix for both problems, could you, please, check?
The patch is not enough. It fixes the precise case I reported, but this
fails now:
(setq db
(dbus-register-signal :session "some.service"
"/org/gtk/Private/RemoteVolumeMonitor"
"org.gtk.Private.RemoteVolumeMonitor" "VolumeAdded"
'identity))
(dbus-unregister-object db)
Debugger entered--Lisp error: (dbus-error "Match rule has a key with no subsequent '=' character")
dbus-call-method(:session "org.freedesktop.DBus" "/org/freedesktop/DBus" "org.freedesktop.DBus" "RemoveMatch" "Z")
dbus-unregister-object(((:session "org.gtk.Private.RemoteVolumeMonitor" "VolumeAdded") ("some.service" "/org/gtk/Private/RemoteVolumeMonitor" identity)))
eval((dbus-unregister-object db) nil)
And, I've not tested, but AFAICS you added a check "(when service …"
before running ReleaseName. Just not that you must not do a ReleaseName
if you are unregistering a match, and I've the feeling that this code
will do.
> Reading the code, `dbus-registered-objects-table' has become an
> unreadable format. Maybe we shall redesign the format, and move most of
> the functionality from dbusbind.c to dbus.el. But that's something for
> after-the-release.
I totally agree with that. It needs to be reworked. :)
--
Julien Danjou
[Message part 2 (application/pgp-signature, inline)]
This bug report was last modified 13 years and 240 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.