diff options
author | Lars Uebernickel <lars.uebernickel@canonical.com> | 2012-06-26 00:46:00 +0200 |
---|---|---|
committer | Lars Uebernickel <lars.uebernickel@canonical.com> | 2012-06-26 00:46:00 +0200 |
commit | be44bb8644730b598fdc1990ab81c1f067dc2353 (patch) | |
tree | 4e4554c045986454116c721cee0582cc163b41b9 /src/app-section.c | |
parent | 106146172620ce24dc34575a3ad5237251a80407 (diff) | |
download | ayatana-indicator-messages-be44bb8644730b598fdc1990ab81c1f067dc2353.tar.gz ayatana-indicator-messages-be44bb8644730b598fdc1990ab81c1f067dc2353.tar.bz2 ayatana-indicator-messages-be44bb8644730b598fdc1990ab81c1f067dc2353.zip |
messages-service: move gmenu utility functions into gmenuutils.[ch]
As a neat side-effect, this fixes a memory leak in app-section.c.
Diffstat (limited to 'src/app-section.c')
-rw-r--r-- | src/app-section.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/src/app-section.c b/src/app-section.c index 7bbbbbb..1662a9f 100644 --- a/src/app-section.c +++ b/src/app-section.c @@ -30,6 +30,7 @@ with this program. If not, see <http://www.gnu.org/licenses/>. #include <libindicator/indicator-desktop-shortcuts.h> #include "app-section.h" #include "dbus-data.h" +#include "gmenuutils.h" struct _AppSectionPrivate { @@ -208,24 +209,11 @@ nick_activate_cb (GSimpleAction *action, } static void -g_menu_item_set_icon (GMenuItem *item, - GIcon *icon) -{ - gchar *iconstr; - - iconstr = g_icon_to_string (icon); - g_menu_item_set_attribute (item, INDICATOR_MENU_ATTRIBUTE_ICON_NAME, "s", iconstr); - - g_free (iconstr); -} - -static void app_section_set_app_info (AppSection *self, GDesktopAppInfo *appinfo) { AppSectionPrivate *priv = self->priv; GSimpleAction *launch; - GMenuItem *item; g_return_if_fail (priv->appinfo == NULL); @@ -240,9 +228,10 @@ app_section_set_app_info (AppSection *self, g_signal_connect (launch, "activate", G_CALLBACK (activate_cb), self); g_simple_action_group_insert (priv->static_shortcuts, G_ACTION (launch)); - item = g_menu_item_new (g_app_info_get_name (G_APP_INFO (priv->appinfo)), "launch"); - g_menu_item_set_icon (item, g_app_info_get_icon (G_APP_INFO (priv->appinfo))); - g_menu_append_item (priv->menu, item); + g_menu_append_with_icon (priv->menu, + g_app_info_get_name (G_APP_INFO (priv->appinfo)), + g_app_info_get_icon (G_APP_INFO (priv->appinfo)), + "launch"); /* Start to build static shortcuts */ priv->ids = indicator_desktop_shortcuts_new(g_desktop_app_info_get_filename (priv->appinfo), "Messaging Menu"); |