summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch')
-rw-r--r--gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch
new file mode 100644
index 000000000000..31dbaf279b40
--- /dev/null
+++ b/gnome-extra/gnome-shell-extensions/files/gnome-shell-extensions-3.18.2-apps-menu2.patch
@@ -0,0 +1,44 @@
+From 79c76a87e29e5ca70e74f3d62857c341a4ecae6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
+Date: Wed, 16 Dec 2015 18:46:42 +0100
+Subject: 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
+---
+ extensions/apps-menu/extension.js | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
+index 925d344..796d235 100644
+--- a/extensions/apps-menu/extension.js
++++ b/extensions/apps-menu/extension.js
+@@ -397,15 +397,14 @@ const ApplicationsButton = new Lang.Class({
+ while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
+ if (nextType == GMenu.TreeItemType.ENTRY) {
+ let entry = iter.get_entry();
+- let appInfo = entry.get_app_info();
+ let id;
+ try {
+- id = appInfo.get_id(); // catch non-UTF8 filenames
++ id = entry.get_desktop_file_id(); // catch non-UTF8 filenames
+ } catch(e) {
+ continue;
+ }
+ let app = appSys.lookup_app(id);
+- if (appInfo.should_show())
++ if (app.get_app_info().should_show())
+ this.applicationsByCategory[categoryId].push(app);
+ } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
+ let subdir = iter.get_directory();
+--
+cgit v0.11.2
+