bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#9581: 24.0.50; dbus-unregister-object fails if service is nil


From: Julien Danjou
Subject: bug#9581: 24.0.50; dbus-unregister-object fails if service is nil
Date: Sat, 24 Sep 2011 16:19:41 +0200
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.50 (gnu/linux)

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

Attachment: pgpXgSFFY0X3H.pgp
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]