diff options
author | John (J5) Palmieri <johnp@redhat.com> | 2006-09-08 15:23:50 +0000 |
---|---|---|
committer | John (J5) Palmieri <johnp@redhat.com> | 2006-09-08 15:23:50 +0000 |
commit | b4d571bba305f05810e77e7b1309524d3bf53f3f (patch) | |
tree | 71c7c4fe90690c897fa73b8c4eb6b72b63530422 | |
parent | b19511946fa6a3ae228e97a02ab6b6aeed9fffb9 (diff) |
* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
filters (Patch from Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 7 |
2 files changed, 13 insertions, 0 deletions
@@ -1,3 +1,9 @@ +2006-09-08 John (J5) Palmieri <johnp@redhat.com> + + * dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove + filters (Patch from Kimmo Hämäläinen + <kimmo dot hamalainen at nokia dot com>) + 2006-09-07 John (J5) Palmieri <johnp@redhat.com> * dbus/dbus-connection-internal.h: Add prototype for diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 8033c4a5..91f7770c 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -3718,6 +3718,13 @@ dbus_connection_dispatch (DBusConnection *connection) DBusMessageFilter *filter = link->data; DBusList *next = _dbus_list_get_next_link (&filter_list_copy, link); + if (filter->function == NULL) + { + _dbus_verbose (" filter was removed in a callback function\n"); + link = next; + continue; + } + _dbus_verbose (" running filter on message %p\n", message); result = (* filter->function) (connection, message, filter->user_data); |