aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Uebernickel <lars.uebernickel@canonical.com>2012-10-24 09:29:55 +0000
committerTarmac <Unknown>2012-10-24 09:29:55 +0000
commit41adafa3fa0613a2efa4dc14455c1aff567dd64b (patch)
tree98450354192a2523e40ed1cfe4a001757bec9995
parente347088b9e4052a037239844e42255f516df305c (diff)
parent583ceac5a302189c69d5def703987e5be7b28ba7 (diff)
downloadayatana-indicator-messages-41adafa3fa0613a2efa4dc14455c1aff567dd64b.tar.gz
ayatana-indicator-messages-41adafa3fa0613a2efa4dc14455c1aff567dd64b.tar.bz2
ayatana-indicator-messages-41adafa3fa0613a2efa4dc14455c1aff567dd64b.zip
messaging_menu_app_set_source_icon: unset x-canonical-icon if NULL is passed. Fixes: https://bugs.launchpad.net/bugs/1070421. Approved by Charles Kerr.
-rw-r--r--libmessaging-menu/messaging-menu.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/libmessaging-menu/messaging-menu.c b/libmessaging-menu/messaging-menu.c
index 59f93a2..cef5687 100644
--- a/libmessaging-menu/messaging-menu.c
+++ b/libmessaging-menu/messaging-menu.c
@@ -1033,7 +1033,7 @@ messaging_menu_app_set_source_label (MessagingMenuApp *app,
* messaging_menu_app_set_source_icon:
* @app: a #MessagingMenuApp
* @source_id: a source id
- * @icon: the new icon for the source
+ * @icon: (allow-none): the new icon for the source
*
* Changes the icon of @source_id to @icon.
*/
@@ -1044,7 +1044,6 @@ messaging_menu_app_set_source_icon (MessagingMenuApp *app,
{
gint pos;
GMenuItem *item;
- gchar *iconstr;
g_return_if_fail (MESSAGING_MENU_IS_APP (app));
g_return_if_fail (source_id != NULL);
@@ -1053,11 +1052,22 @@ messaging_menu_app_set_source_icon (MessagingMenuApp *app,
if (item == NULL)
return;
- iconstr = icon ? g_icon_to_string (icon) : NULL;
- g_menu_item_set_attribute (item, "x-canonical-icon", "s", iconstr);
+ if (icon)
+ {
+ gchar *iconstr;
+
+ iconstr = g_icon_to_string (icon);
+ g_menu_item_set_attribute (item, "x-canonical-icon", "s", iconstr);
+
+ g_free (iconstr);
+ }
+ else
+ {
+ g_menu_item_set_attribute_value (item, "x-canonical-icon", NULL);
+ }
+
g_menu_replace_item (app->menu, pos, item);
- g_free (iconstr);
g_object_unref (item);
}