Parent: 07858bca3c40f14fba00a74c1747485e04d0e953
Author: Lucas De Marchi <lucas.demarchi@profusion.mobi>
Committer: Johan Hedberg <johan.hedberg@intel.com>
Date: 2012-06-28 10:37:42
Tree: 5df5d2ecf9108689318c00e8fdd7f6a2cb6ce984
gdbus: Fix removal of filter after last filter_data If there's a signal watch that's also watching for name (data->name_watch) currently we are trying to remove the message_filter twice since we may have the following call chain: filter_data_remove_callback() filter_data_free() g_dbus_remove_watch() filter_data_remove_callback() filter_data_free() dbus_connection_remove_filter() dbus_connection_remove_filter() Because of this we can't currently watch for signals passing the bus name. After this patch we don't have this issue anymore. We fix it by removing the filter before calling filter_data_free() if we are the last filter_data and thus avoid calling dbus_connection_remove_filter() twice.
Diffstat
| M | gdbus/watch.c | | | 17 | ++++++++- - - - - - - - - |
1 files changed, 8 insertions(+), 9 deletions(-)