aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNiklas Wenzel <nikwen.developer@gmail.com>2015-05-05 16:47:33 +0000
committerCI Train Bot <ci-train-bot@canonical.com>2015-05-05 16:47:33 +0000
commit543e5c2759d9646846d7881899cff2851988bc1b (patch)
tree75c15d3d5482bf5f9e9ef02e95c37a0e1726d6db /src
parent6a466d23f9424f095801b2d1ba608cf06b0a86a7 (diff)
parenteade0ee8c99156923a62d3aa0c72006e15d47c32 (diff)
downloadayatana-indicator-messages-543e5c2759d9646846d7881899cff2851988bc1b.tar.gz
ayatana-indicator-messages-543e5c2759d9646846d7881899cff2851988bc1b.tar.bz2
ayatana-indicator-messages-543e5c2759d9646846d7881899cff2851988bc1b.zip
Unescape action names when passing them to the proxy in im_application_list_remove_all() Fixes: #1434521
Approved by: Ted Gould
Diffstat (limited to 'src')
-rw-r--r--src/im-application-list.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/im-application-list.c b/src/im-application-list.c
index 36b2ff3..7c2c877 100644
--- a/src/im-application-list.c
+++ b/src/im-application-list.c
@@ -522,10 +522,26 @@ im_application_list_remove_all (GSimpleAction *action,
if (app->proxy != NULL) /* If it is remote, we tell the app we've cleared */
{
+ guint i;
+ gchar **unescaped_source_actions;
+ gchar **unescaped_message_actions;
+
+ /* Unescape action names */
+ unescaped_source_actions = g_new0 (gchar *, g_strv_length (source_actions) + 1);
+ for (i = 0; source_actions[i]; i++)
+ unescaped_source_actions[i] = unescape_action_name (source_actions[i]);
+
+ unescaped_message_actions = g_new0 (gchar *, g_strv_length (message_actions) + 1);
+ for (i = 0; message_actions[i]; i++)
+ unescaped_message_actions[i] = unescape_action_name (message_actions[i]);
+
indicator_messages_application_call_dismiss (app->proxy,
- (const gchar * const *) source_actions,
- (const gchar * const *) message_actions,
+ (const gchar * const *) unescaped_source_actions,
+ (const gchar * const *) unescaped_message_actions,
app->cancellable, NULL, NULL);
+
+ g_strfreev (unescaped_source_actions);
+ g_strfreev (unescaped_message_actions);
}
g_strfreev (source_actions);