diff options
-rw-r--r-- | src/app-indicator.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/app-indicator.c b/src/app-indicator.c index 4643931..ee18cad 100644 --- a/src/app-indicator.c +++ b/src/app-indicator.c @@ -2200,6 +2200,18 @@ app_indicator_build_menu_from_desktop (AppIndicator * self, const gchar * deskto } /* Swap it if needed */ + if (priv->menuservice == NULL) { + gchar * path = g_strdup_printf(DEFAULT_ITEM_PATH "/%s/Menu", priv->clean_id); + priv->menuservice = dbusmenu_server_new (path); + g_free(path); + } + + dbusmenu_server_set_root (priv->menuservice, root); + + if (priv->menu != NULL) { + g_object_unref(G_OBJECT(priv->menu)); + priv->menu = NULL; + } return; } |