Codebase list cinnamon-menus / upstream/latest debian / patches / 01_default_prefix.patch
upstream/latest

Tree @upstream/latest (Download .tar.gz)

01_default_prefix.patch @upstream/latestraw · history · blame

--- a/libmenu/gmenu-tree.c
+++ b/libmenu/gmenu-tree.c
@@ -391,6 +391,16 @@
     }
 }
 
+static char *
+prefix_menu_name (const char *orig_name)
+{
+  char *prefix;
+  prefix = g_getenv ("XDG_MENU_PREFIX");
+  if (prefix == NULL)
+    prefix = "gnome-";
+  return g_strconcat (prefix, orig_name, NULL);
+}
+
 static gboolean
 gmenu_tree_canonicalize_path (GMenuTree *tree,
                               GError   **error)
@@ -416,6 +426,9 @@
       menu_file = tree->basename;
       xdg_menu_prefix = g_getenv ("XDG_MENU_PREFIX");
 
+      if (xdg_menu_prefix == NULL)
+        xdg_menu_prefix = "gnome-";
+
       if (xdg_menu_prefix != NULL)
         {
           gchar *prefixed_basename;
@@ -2077,13 +2090,10 @@
   found = FALSE;
   menu_file = g_strconcat (menu_name, ".menu", NULL);
 
-  if (strcmp (menu_file, "applications.menu") == 0 &&
-      g_getenv ("XDG_MENU_PREFIX"))
+  if (strcmp (menu_file, "applications.menu") == 0)
     {
       char *prefixed_basename;
-      prefixed_basename = g_strdup_printf ("%s%s",
-                                           g_getenv ("XDG_MENU_PREFIX"),
-                                           menu_file);
+      prefixed_basename = prefix_menu_name (menu_file);
       found = load_parent_merge_file_from_basename (tree, loaded_menu_files,
                                                     layout, prefixed_basename,
                                                     canonical_basedir);