gnome-base/gnome-settings-daemon: remove old
[gentoo.git] / gnome-base / gnome-shell / files / 3.22.3-CVE-2017-8288.patch
1 From 560e976ee9c59d75907b5ef6ed2bc336719e37d3 Mon Sep 17 00:00:00 2001
2 From: Emilio Pozuelo Monfort <pochu27@gmail.com>
3 Date: Tue, 25 Apr 2017 17:27:42 +0200
4 Subject: [PATCH] extensionSystem: handle reloading broken extensions
5
6 Some extensions out there may fail to reload. When that happens,
7 we need to catch any exceptions so that we don't leave things in
8 a broken state that could lead to leaving extensions enabled in
9 the screen shield.
10
11 https://bugzilla.gnome.org/show_bug.cgi?id=781728
12 ---
13  js/ui/extensionSystem.js | 12 ++++++++++--
14  1 file changed, 10 insertions(+), 2 deletions(-)
15
16 diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js
17 index ba33222..1feaa2f 100644
18 --- a/js/ui/extensionSystem.js
19 +++ b/js/ui/extensionSystem.js
20 @@ -276,12 +276,20 @@ function _onVersionValidationChanged() {
21      // temporarily disable them all
22      enabledExtensions = [];
23      for (let uuid in ExtensionUtils.extensions)
24 -        reloadExtension(ExtensionUtils.extensions[uuid]);
25 +        try {
26 +            reloadExtension(ExtensionUtils.extensions[uuid]);
27 +        } catch(e) {
28 +            logExtensionError(uuid, e);
29 +        }
30      enabledExtensions = getEnabledExtensions();
31  
32      if (Main.sessionMode.allowExtensions) {
33          enabledExtensions.forEach(function(uuid) {
34 -            enableExtension(uuid);
35 +            try {
36 +                enableExtension(uuid);
37 +            } catch(e) {
38 +                logExtensionError(uuid, e);
39 +            }
40          });
41      }
42  }
43 -- 
44 2.10.1
45