From 6207c68439a97027cf8464cc77533a095388677a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 2 Mar 2011 14:39:07 +0100 Subject: [PATCH] extensions: Ignore extensions in directories without read permission Gio.enumerate_children() throws an exception if called for a directory without read permissions. Catch this case to allow the shell to start. https://bugzilla.gnome.org/show_bug.cgi?id=643663 --- js/ui/extensionSystem.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js index 577328350..f2b88a537 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -174,8 +174,15 @@ function init() { } function _loadExtensionsIn(dir, type) { - let fileEnum = dir.enumerate_children('standard::*', Gio.FileQueryInfoFlags.NONE, null); + let fileEnum; let file, info; + try { + fileEnum = dir.enumerate_children('standard::*', Gio.FileQueryInfoFlags.NONE, null); + } catch (e) { + global.logError('' + e); + return; + } + while ((info = fileEnum.next_file(null)) != null) { let fileType = info.get_file_type(); if (fileType != Gio.FileType.DIRECTORY)