Subject: Re: bug#10744: 24.0.93; dbus notification callback error

From: Michael Albinus <[email-masked]>
Date: Tue, 07 Feb 2012 10:09:22 +0100

Ken Raeburn <[email-masked]> writes:

> An error pops up indicating that notifications-on-closed-signal is
> passed one argument instead of the expected two:
>
> Debugger entered--Lisp error: (wrong-number-of-arguments #[(id reason) ...] 1)
>   notifications-on-closed-signal(673)

According to the spec, the NotificationClosed signal shall send 2
arguments, the id and the reason. See
<http://www.galago-project.org/specs/notification/0.9/x408.html#signal-notification-closed>.

That's what `notifications-on-closed-signal' expects. And doesn't get.

>   dbus-handle-event((dbus-event :session 4 1352 ":1.12" "/org/freedesktop/Notifications" "org.freedesktop.Notifications" "NotificationClosed" notifications-on-closed-signal 673))

The daemon sends only one argument, the id (673). I could reproduce the
problem on an old RHEL system with:

notification-daemon.x86_64               0.3.5-9.el5 installed

Reading the NEWS entry of the notification-daemon sources, I've found

version 0.4.0 (20-November-2008):
        * Send the reason code along with the NotificationClosed signal in order
          to indicate why the notification was closed. (Bug #137)

So it is clearly a daemon error, which is corrected meanwhile. I've
submitted a fix to the trunk, making the reason argument in
`notifications-on-closed-signal' optional (assuming `undefined' as
default). Could you, please, check?

Best regards, Michael.