From: barbieri Date: Sat, 28 Mar 2009 18:59:04 +0000 (+0000) Subject: actually do cleanup, nasty nobody noticed it before. X-Git-Tag: 2.0_alpha~43^2~381 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=09bfb1a229cc88a9bc28d408157d9df0ece757e2;p=framework%2Fuifw%2Fedbus.git 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 --- 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; }