apps-menu: Handle non-UTF8 filename encodings more gracefully

Instead of failing completely if any .desktop file uses a filename
encoding other than UTF-8, just filter out the offending apps.

https://bugzilla.gnome.org/show_bug.cgi?id=651503
This commit is contained in:
Florian Müllner
2015-07-31 02:14:58 +02:00
parent 6062284ac4
commit d1bf592539
+7 -1
View File
@@ -393,7 +393,13 @@ const ApplicationsButton = new Lang.Class({
if (nextType == GMenu.TreeItemType.ENTRY) {
let entry = iter.get_entry();
let appInfo = entry.get_app_info();
let app = appSys.lookup_app(entry.get_desktop_file_id());
let id;
try {
id = appInfo.get_id(); // catch non-UTF8 filenames
} catch(e) {
continue;
}
let app = appSys.lookup_app(id);
if (appInfo.should_show()) {
let menu_id = dir.get_menu_id();
this.applicationsByCategory[categoryId].push(app);