]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
2005-03-11 Joe Shaw <joeshaw@novell.com>
authorJoe Shaw <joeshaw@novell.com>
Fri, 11 Mar 2005 17:43:22 +0000 (17:43 +0000)
committerJoe Shaw <joeshaw@novell.com>
Fri, 11 Mar 2005 17:43:22 +0000 (17:43 +0000)
* 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
dbus/dbus-connection.c

index c59cab9d741dbe562681c0e8ae748203e70089cf..0a7131a0369ef7f365ff4ea6850d1857a86f73aa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-03-11  Joe Shaw  <joeshaw@novell.com>
+
+       * 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  <joeshaw@novell.com>
 
        * dbus/dbus-object-tree.c
index db76ba22394e6c1874cffd1cba23f8f7701698e6..a08aa36698e7c20d666854eebdfbbdd4b5aea05d 100644 (file)
@@ -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);
 }
 
 /**