Shouldn't gerror_to_dbus_error_message check for both DBUS_GERROR and DBUS_GERROR_REMOTE_EXCEPTION?
Simon McVittie
simon.mcvittie at collabora.co.uk
Fri Sep 6 07:30:32 PDT 2013
On 06/09/13 15:14, Marcel Tünnissen wrote:
> This is obtained through a call to dbus_g_error_get_name
> Apparently the function requires both DBUS_GERROR and
> DBUS_GERROR_REMOTE_EXCEPTION.
Yes, as the documentation says.
> However the calling function only checks for DBUS_GERROR.
...
> if (error->domain == DBUS_GERROR)
> reply = dbus_message_new_error (message,
> dbus_g_error_get_name (error),
> error->message);
That looks like <https://bugs.freedesktop.org/show_bug.cgi?id=16776>,
which I fixed in 2009 (dbus-glib 0.82). What version of dbus-glib is
this? Update dbus-glib to the current release if possible.
Workaround, if you can't upgrade: never pass (DBUS_GERROR, x, "...") to
dbus_g_method_return(), unless x == DBUS_GERROR_REMOTE_EXCEPTION.
(Also be aware that dbus-glib from 2009 was really quite buggy in
general, and dbus-glib from 2013 is also pretty bad. Use GDBus, part of
recent GLib, if you can.)
S
More information about the dbus
mailing list