From 5d43dcf48247c74a278a3a1771c6996eba30e790 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 Feb 2010 08:12:23 -0500 Subject: [PATCH] Don't forget to emit Session::CancelStop --- src/ck-manager.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ck-manager.c b/src/ck-manager.c index 108be5b..c10a651 100644 --- a/src/ck-manager.c +++ b/src/ck-manager.c @@ -1681,9 +1681,11 @@ remove_inhibitors_for_session (CkManager *manager, GHashTableIter iter; CkInhibitor *inhibitor; + g_debug ("removing inhibitors for session %s", session_id); g_hash_table_iter_init (&iter, manager->priv->inhibitors); while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&inhibitor)) { if (g_strcmp0 (session_id, ck_inhibitor_peek_session_id (inhibitor)) == 0) { + g_debug ("removing jit inhibitor %s for session", ck_inhibitor_peek_id (inhibitor)); g_signal_emit (manager, signals[INHIBITOR_REMOVED], 0, ck_inhibitor_peek_id (inhibitor)); g_hash_table_iter_remove (&iter); } @@ -1759,10 +1761,8 @@ on_session_stop_response (CkSession *session, if (manager->priv->query_context) { /* we are in a QueryStop call, deal with inhibitors */ - if (ok) { - remove_inhibitors_for_session (manager, id); - } - else { + remove_inhibitors_for_session (manager, id); + if (!ok) { /* create a jit inhibitor */ CkInhibitor *inhibitor; guint cookie; @@ -3125,6 +3125,8 @@ ck_manager_cancel_stop (CkManager *manager, DBusGMethodInvocation *context) { GError *error; + GHashTableIter iter; + CkSession *session; g_return_val_if_fail (CK_IS_MANAGER (manager), FALSE); @@ -3152,6 +3154,11 @@ ck_manager_cancel_stop (CkManager *manager, g_debug ("CancelStop"); + g_hash_table_iter_init (&iter, manager->priv->sessions); + while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&session)) { + ck_session_cancel_stop (session); + } + cleanup_after_stop (manager); dbus_g_method_return (context); -- 1.6.6