diff options
Diffstat (limited to 'src/im-application-list.c')
-rw-r--r-- | src/im-application-list.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/im-application-list.c b/src/im-application-list.c index cbabc64..08c9730 100644 --- a/src/im-application-list.c +++ b/src/im-application-list.c @@ -395,13 +395,9 @@ im_application_list_source_activated (GSimpleAction *action, } static void -im_application_list_message_removed (Application *app, - const gchar *id) +im_application_list_message_removed_action (Application *app, + const gchar *action_name) { - gchar *action_name; - - action_name = escape_action_name (id); - g_action_map_remove_action (G_ACTION_MAP(app->message_actions), action_name); g_action_muxer_remove (app->message_sub_actions, action_name); @@ -409,6 +405,17 @@ im_application_list_message_removed (Application *app, im_application_list_update_root_action (app->list); g_signal_emit (app->list, signals[MESSAGE_REMOVED], 0, app->id, action_name); +} + +static void +im_application_list_message_removed (Application *app, + const gchar *id) +{ + gchar *action_name; + + action_name = escape_action_name (id); + + im_application_list_message_removed_action(app, action_name); g_free (action_name); } @@ -442,7 +449,7 @@ im_application_list_message_activated (GSimpleAction *action, app->cancellable, NULL, NULL); } - im_application_list_message_removed (app, action_name); + im_application_list_message_removed_action (app, action_name); g_free (message_id); } @@ -502,7 +509,7 @@ im_application_list_remove_all (GSimpleAction *action, message_actions = g_action_group_list_actions (G_ACTION_GROUP (app->message_actions)); for (it = message_actions; *it; it++) - im_application_list_message_removed (app, *it); + im_application_list_message_removed_action (app, *it); if (app->proxy != NULL) /* If it is remote, we tell the app we've cleared */ { |