diff options
Diffstat (limited to 'dbus')
-rw-r--r-- | dbus/dbus-connection.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 804af828..a960a991 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -3416,14 +3416,13 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection, dbus_bool_t dispatch) { DBusDispatchStatus dstatus; - dbus_bool_t no_progress_possible; + dbus_bool_t progress_possible; /* Need to grab a ref here in case we're a private connection and * the user drops the last ref in a handler we call; see bug * https://bugs.freedesktop.org/show_bug.cgi?id=15635 */ dbus_connection_ref (connection); - dstatus = dbus_connection_get_dispatch_status (connection); if (dispatch && dstatus == DBUS_DISPATCH_DATA_REMAINS) @@ -3458,16 +3457,16 @@ _dbus_connection_read_write_dispatch (DBusConnection *connection, * as long as the transport is open. */ if (dispatch) - no_progress_possible = connection->n_incoming == 0 && - connection->disconnect_message_link == NULL; + progress_possible = connection->n_incoming != 0 || + connection->disconnect_message_link != NULL; else - no_progress_possible = _dbus_connection_get_is_connected_unlocked (connection); + progress_possible = _dbus_connection_get_is_connected_unlocked (connection); CONNECTION_UNLOCK (connection); dbus_connection_unref (connection); - return !no_progress_possible; /* TRUE if we can make more progress */ + return progress_possible; /* TRUE if we can make more progress */ } |