summaryrefslogtreecommitdiffstats
path: root/glib
diff options
context:
space:
mode:
authorHavoc Pennington <hp@redhat.com>2005-02-16 04:37:27 +0000
committerHavoc Pennington <hp@redhat.com>2005-02-16 04:37:27 +0000
commit9e4450872a6861bd93a01dabe14d2d16f6c84d3f (patch)
treeda702f5129ca1ee0a49fd75e0b57e4cf935c23d1 /glib
parent7b340cdb43e80656dddfeddac8390157ee1bf5d6 (diff)
2005-02-15 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c (dbus_connection_dispatch): always complete a pending call, don't run filters first. * glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use dbus_pending_call_steal_reply * dbus/dbus-pending-call.c (dbus_pending_call_block): just call _dbus_connection_block_pending_call (dbus_pending_call_get_reply): change to steal_reply and return a ref * dbus/dbus-connection.c (dbus_connection_send_with_reply_and_block): port to work in terms of DBusPendingCall (_dbus_connection_block_pending_call): replace block_for_reply with this
Diffstat (limited to 'glib')
-rw-r--r--glib/dbus-gproxy.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/glib/dbus-gproxy.c b/glib/dbus-gproxy.c
index 1c2f4a1d..17b76d93 100644
--- a/glib/dbus-gproxy.c
+++ b/glib/dbus-gproxy.c
@@ -1386,7 +1386,7 @@ dbus_g_proxy_end_call (DBusGProxy *proxy,
g_return_val_if_fail (pending != NULL, FALSE);
dbus_pending_call_block (DBUS_PENDING_CALL_FROM_G_PENDING_CALL (pending));
- message = dbus_pending_call_get_reply (DBUS_PENDING_CALL_FROM_G_PENDING_CALL (pending));
+ message = dbus_pending_call_steal_reply (DBUS_PENDING_CALL_FROM_G_PENDING_CALL (pending));
g_assert (message != NULL);
@@ -1403,6 +1403,7 @@ dbus_g_proxy_end_call (DBusGProxy *proxy,
}
va_end (args);
+ dbus_message_unref (message);
return TRUE;
case DBUS_MESSAGE_TYPE_ERROR:
@@ -1416,6 +1417,8 @@ dbus_g_proxy_end_call (DBusGProxy *proxy,
}
error:
+ dbus_message_unref (message);
+
dbus_set_g_error (error, &derror);
dbus_error_free (&derror);
return FALSE;