Compare commits

...

3 Commits

Author SHA1 Message Date
Florian Müllner c0920301b4 Bump version to 3.18.3
Update NEWS.
2016-01-09 10:35:23 +01:00
Florian Müllner 5a46645948 apps-menu: Fix .desktop entries in subdirectories
GMenu's TreeEntries return an AppInfo that is created from the
.desktop filename, not from a desktop ID as expected by the
AppSystem. As a result, g_app_info_get_id() will simply return
the file's basename, which only matches the desktop ID if no
prefix-to-subdirectory mapping as described in the menu spec
is involved.
Fix this by basing the app lookup on the entry's desktop ID instead
of the AppInfo.

https://bugzilla.gnome.org/show_bug.cgi?id=759004
2016-01-09 10:29:57 +01:00
Florian Müllner 7c247e6b84 apps-menu: Remove unused variable
https://bugzilla.gnome.org/show_bug.cgi?id=759004
2016-01-09 10:29:54 +01:00
3 changed files with 7 additions and 6 deletions
+4
View File
@@ -1,3 +1,7 @@
3.18.3
======
* apps-menu: Fix .desktop entries in subdirectories
3.18.2 3.18.2
====== ======
* Fix classic style issues * Fix classic style issues
+1 -1
View File
@@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.18.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions]) AC_INIT([gnome-shell-extensions],[3.18.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config]) AC_CONFIG_AUX_DIR([config])
+2 -5
View File
@@ -397,18 +397,15 @@ const ApplicationsButton = new Lang.Class({
while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) { while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
if (nextType == GMenu.TreeItemType.ENTRY) { if (nextType == GMenu.TreeItemType.ENTRY) {
let entry = iter.get_entry(); let entry = iter.get_entry();
let appInfo = entry.get_app_info();
let id; let id;
try { try {
id = appInfo.get_id(); // catch non-UTF8 filenames id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
} catch(e) { } catch(e) {
continue; continue;
} }
let app = appSys.lookup_app(id); let app = appSys.lookup_app(id);
if (appInfo.should_show()) { if (app.get_app_info().should_show())
let menu_id = dir.get_menu_id();
this.applicationsByCategory[categoryId].push(app); this.applicationsByCategory[categoryId].push(app);
}
} else if (nextType == GMenu.TreeItemType.DIRECTORY) { } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
let subdir = iter.get_directory(); let subdir = iter.get_directory();
if (!subdir.get_is_nodisplay()) if (!subdir.get_is_nodisplay())