From 3c1d2d65654f92f24d3e5c9c5b88d76a10f72822 Mon Sep 17 00:00:00 2001 From: Joe Shaw Date: Fri, 11 Mar 2005 17:43:22 +0000 Subject: 2005-03-11 Joe Shaw * dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove this unref; it doesn't match up evenly in some codepaths. (_dbus_connection_block_pending_call): Unref at every exitpoint; this evenly matches with the ref near the top of this function. --- ChangeLog | 7 +++++++ dbus/dbus-connection.c | 6 ++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c59cab9d..0a7131a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-03-11 Joe Shaw + + * dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove + this unref; it doesn't match up evenly in some codepaths. + (_dbus_connection_block_pending_call): Unref at every exitpoint; + this evenly matches with the ref near the top of this function. + 2005-03-09 Joe Shaw * dbus/dbus-object-tree.c diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index db76ba22..a08aa366 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -2460,8 +2460,6 @@ dbus_connection_send_with_reply (DBusConnection *connection, pending)) goto error; - dbus_pending_call_unref (pending); - if (!_dbus_connection_send_unlocked_no_update (connection, message, NULL)) { _dbus_connection_detach_pending_call_and_unlock (connection, @@ -2606,6 +2604,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending) { _dbus_verbose ("Pending call completed by dispatch in %s\n", _DBUS_FUNCTION_NAME); _dbus_connection_update_dispatch_status_and_unlock (connection, status); + dbus_pending_call_unref (pending); return; } @@ -2626,6 +2625,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending) CONNECTION_LOCK (connection); status = _dbus_connection_get_dispatch_status_unlocked (connection); _dbus_connection_update_dispatch_status_and_unlock (connection, status); + dbus_pending_call_unref (pending); return; } @@ -2641,6 +2641,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending) */ _dbus_pending_call_complete_and_unlock (pending, NULL); + dbus_pending_call_unref (pending); return; } else if (tv_sec < start_tv_sec) @@ -2694,6 +2695,7 @@ _dbus_connection_block_pending_call (DBusPendingCall *pending) CONNECTION_LOCK (connection); status = _dbus_connection_get_dispatch_status_unlocked (connection); _dbus_connection_update_dispatch_status_and_unlock (connection, status); + dbus_pending_call_unref (pending); } /** -- cgit