diff --git a/debian/changelog b/debian/changelog index 525caf0..d5d3599 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +cinnamon-menus (4.8.2) ulyssa; urgency=medium + + [ Lars Mueller ] + * Fix loading of desktop files in subdirectories + + -- Clement Lefebvre Tue, 08 Dec 2020 10:19:48 +0000 + cinnamon-menus (4.8.1) ulyssa; urgency=medium [ Cobinja ] diff --git a/libmenu/desktop-entries.c b/libmenu/desktop-entries.c index 61551ab..07b5d24 100644 --- a/libmenu/desktop-entries.c +++ b/libmenu/desktop-entries.c @@ -767,7 +767,6 @@ DesktopEntry *entry, const char *file_id) { - const char *file_id_to_use; menu_verbose (" Adding to set %p entry %s\n", set, file_id); if (set->hash == NULL) @@ -778,14 +777,8 @@ (GDestroyNotify) desktop_entry_unref); } - if (desktop_entry_get_type (entry) == DESKTOP_ENTRY_DESKTOP) { - file_id_to_use = desktop_entry_get_id (entry); - } - else { - file_id_to_use = file_id; - } g_hash_table_replace (set->hash, - g_strdup (file_id_to_use), + g_strdup (file_id), desktop_entry_ref (entry)); } diff --git a/libmenu/entry-directories.c b/libmenu/entry-directories.c index 56791a0..23b8cac 100644 --- a/libmenu/entry-directories.c +++ b/libmenu/entry-directories.c @@ -923,7 +923,8 @@ static char * get_desktop_file_id_from_path (EntryDirectory *ed, DesktopEntryType entry_type, - const char *relative_path) + const char *relative_path, + DesktopEntry *entry) { char *retval; @@ -931,7 +932,16 @@ if (entry_type == DESKTOP_ENTRY_DESKTOP) { + GMenuDesktopAppInfo *appinfo; + appinfo = desktop_entry_get_app_info (entry); retval = g_strdelimit (g_strdup (relative_path), "/", '-'); + if (gmenu_desktopappinfo_get_is_flatpak (appinfo)) + { + char* tmp; + tmp = retval; + retval = g_strconcat (retval, GMENU_DESKTOPAPPINFO_FLATPAK_SUFFIX, NULL); + g_free (tmp); + } } else { @@ -978,7 +988,8 @@ file_id = get_desktop_file_id_from_path (ed, ed->entry_type, - relative_path->str); + relative_path->str, + entry); ret = func (ed, entry, file_id, set, user_data); diff --git a/meson.build b/meson.build index 542d156..2edfa3b 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('cinnamon-menus', 'c', version : '4.8.1', meson_version: '>=0.40.0') +project('cinnamon-menus', 'c', version : '4.8.2', meson_version: '>=0.40.0') gnome = import('gnome')