From: Mark Doffman Date: Wed, 15 Apr 2009 19:33:15 +0000 (+0100) Subject: 2009-04-15 Mark Doffman X-Git-Tag: AT_SPI2_ATK_2_12_0~536 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e0f0a772ab239471f69ece3b99e7e7786953028d;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git 2009-04-15 Mark Doffman * droute/droute.c Despite what people may believe all D-Bus method calls must have a reply, whether the client side is waiting for one or not. This fixes droute so that it always sends a reply to method calls. --- diff --git a/droute/droute.c b/droute/droute.c index 23365ef..212c280 100644 --- a/droute/droute.c +++ b/droute/droute.c @@ -479,7 +479,7 @@ handle_other (DBusConnection *bus, StrPair pair; DRouteFunction func; - DBusMessage *reply; + DBusMessage *reply = NULL; pair.one = iface; pair.two = member; @@ -493,11 +493,16 @@ handle_other (DBusConnection *bus, reply = (func) (bus, message, datum); - if (reply) + if (!reply) { - dbus_connection_send (bus, reply, NULL); - dbus_message_unref (reply); + /* All D-Bus method calls must have a reply. + * If one is not provided presume that the call has a void + * return and no error has occured. + */ + reply = dbus_message_new_method_return (message); } + dbus_connection_send (bus, reply, NULL); + dbus_message_unref (reply); result = DBUS_HANDLER_RESULT_HANDLED; } return result;