1 --- desktop-file-utils-0.6/src/menu-process.c.hide-empty-submenus 2004-03-05 13:23:23.139062728 -0500
2 +++ desktop-file-utils-0.6/src/menu-process.c 2004-03-05 15:27:01.639279272 -0500
7 +static void remove_empty_submenus (TreeNode * node)
11 + subdir = node->subdirs;
12 + while (subdir != NULL)
14 + TreeNode *subdir_node = subdir->data;
15 + GSList *next = subdir->next;
17 + remove_empty_submenus (subdir_node);
19 + /* If after removing empty children of this submenu, the submenu
20 + * itself is empty, remove it from the parent menu (which is 'node')
22 + if (subdir_node->subdirs == NULL && subdir_node->entries == NULL)
24 + node->subdirs = g_slist_remove_link (node->subdirs, subdir);
25 + tree_node_free (subdir_node);
32 build_tree (DesktopEntryTree *tree)
36 process_only_unallocated (tree->root, allocated);
39 + remove_empty_submenus (tree->root);
41 g_hash_table_destroy (allocated);
43 if (tree->root == NULL)