From 09bfb1a229cc88a9bc28d408157d9df0ece757e2 Mon Sep 17 00:00:00 2001 From: barbieri Date: Sat, 28 Mar 2009 18:59:04 +0000 Subject: [PATCH] actually do cleanup, nasty nobody noticed it before. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@39780 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/dbus/e_dbus.c | 2 +- src/lib/dbus/e_dbus_signal.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/dbus/e_dbus.c b/src/lib/dbus/e_dbus.c index 3f65e0d..32ea145 100644 --- a/src/lib/dbus/e_dbus.c +++ b/src/lib/dbus/e_dbus.c @@ -433,8 +433,8 @@ e_dbus_idler(void *data) DEBUG(5, "dispatch!\n"); dbus_connection_dispatch(cd->conn); dbus_connection_unref(cd->conn); - e_dbus_signal_handlers_clean(cd); e_dbus_idler_active--; + e_dbus_signal_handlers_clean(cd); if (!e_dbus_idler_active && close_connection) { do diff --git a/src/lib/dbus/e_dbus_signal.c b/src/lib/dbus/e_dbus_signal.c index 21bd918..36fff22 100644 --- a/src/lib/dbus/e_dbus_signal.c +++ b/src/lib/dbus/e_dbus_signal.c @@ -272,14 +272,14 @@ void e_dbus_signal_handlers_clean(E_DBus_Connection *conn) { E_DBus_Signal_Handler *sh; - Eina_List *l; + Eina_List *l, *l_next; if (!e_dbus_handler_deletions) return; + e_dbus_handler_deletions = 0; if (!conn->signal_handlers) return; - EINA_LIST_FOREACH(conn->signal_handlers, l, sh) + EINA_LIST_FOREACH_SAFE(conn->signal_handlers, l, l_next, sh) { if (sh->delete_me) e_dbus_signal_handler_del(conn, sh); } - e_dbus_handler_deletions = 0; } -- 2.7.4