Hello community, here is the log from the commit of package gnome-shell for openSUSE:Factory checked in at 2017-07-17 09:00:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old) and /work/SRC/openSUSE:Factory/.gnome-shell.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell" Mon Jul 17 09:00:26 2017 rev:130 rq:510611 version:3.24.2 Changes: -------- --- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes 2017-06-28 10:35:30.150031111 +0200 +++ /work/SRC/openSUSE:Factory/.gnome-shell.new/gnome-shell.changes 2017-07-17 09:00:27.498349467 +0200 @@ -1,0 +2,22 @@ +Wed Jul 12 09:38:13 UTC 2017 - zai...@opensuse.org + +- Add gnome-shell-emulate-click-action.patch: Fix clicks in + gnome-shell shutdown dialog (bgo#781738, boo#1036681). + +------------------------------------------------------------------- +Tue Jul 11 11:24:48 UTC 2017 - alarr...@suse.com + +- Add + gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch, + gnome-shell-1036494-Catch-import-errors.patch and + gnome-shell-1036494-Consistently-handle-initExtension-errors.patch + to handle correctly extensions that fail to load (bsc#1036494, + bgo#781728, CVE-2017-8288). + +------------------------------------------------------------------- +Mon Jul 10 10:00:39 UTC 2017 - qzh...@suse.com + +- Enable gnome-shell-878951-hide-list-with-no-user.patch on + openSUSE. Upstream commit fbc5e37 (bsc#1047262, bgo#731320). + +------------------------------------------------------------------- New: ---- gnome-shell-1036494-Catch-import-errors.patch gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch gnome-shell-1036494-Consistently-handle-initExtension-errors.patch gnome-shell-emulate-click-action.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gnome-shell.spec ++++++ --- /var/tmp/diff_new_pack.d04ZZX/_old 2017-07-17 09:00:28.246244157 +0200 +++ /var/tmp/diff_new_pack.d04ZZX/_new 2017-07-17 09:00:28.250243594 +0200 @@ -42,7 +42,7 @@ Patch3: gnome-shell-gdm-login-applet.patch # PATCH-FEATURE-SLE gnome-shell-domain.patch fate#307773 dli...@suse.com -- Active Directory Integration Patch4: gnome-shell-domain.patch -# PATCH-FIX-SLE gnome-shell-878951-hide-list-with-no-user.patch bnc#878951 dli...@suse.com -- hide use list when there is not user +# PATCH-FIX-UPSTREAM gnome-shell-878951-hide-list-with-no-user.patch bnc#878951 bgo#731320 dli...@suse.com -- hide use list when there is not user Patch5: gnome-shell-878951-hide-list-with-no-user.patch # PATCH-FIX-SLE gnome-shell-screen-disappear.patch bnc#870217 dli...@suse.com -- screen disapper. Patch6: gnome-shell-screen-disappear.patch @@ -60,6 +60,14 @@ Patch14: gnome-shell-portalhelper-fixes.patch # PATCH-FEATURE-SLE gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch xw...@suse.com -- Add SUSE logo on lock screen for GNOME theme. Patch15: gnome-shell-1007468-lock-screen-SUSE-logo-missing.patch +# PATCH-FIX-UPSTREAM gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch bsc#1036494 bgo#781728 alarr...@suse.com -- Handle errors consistently +Patch16: gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch +# PATCH-FIX-UPSTREAM gnome-shell-1036494-Catch-import-errors.patch bsc#1036494 bgo#781728 alarr...@suse.com -- Catch import errors +Patch17: gnome-shell-1036494-Catch-import-errors.patch +# PATCH-FIX-UPSTREAM gnome-shell-1036494-Consistently-handle-initExtension-errors.patch bsc#1036494 bgo#781728 alarr...@suse.com -- Handle errors consistently +Patch18: gnome-shell-1036494-Consistently-handle-initExtension-errors.patch +# PATCH-FIX-UPSTREAM gnome-shell-emulate-click-action.patch bgo#781738 boo#1036681 zai...@opensuse.org -- Fix clicks in gnome-shell shutdown dialog +Patch19: gnome-shell-emulate-click-action.patch ## NOTE: Keep SLE Classic pathes at bottom. ## NOTE: Keep SLE Classic pathes at bottom. # PATCH-FEATURE-SLE gs-sle-classic-ext.patch bnc#862615 cxi...@suse.com -- add SLE Classic support @@ -195,7 +203,6 @@ %if !0%{?is_opensuse} %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 %patch7 -p1 %patch8 -p1 @@ -203,8 +210,14 @@ %patch11 -p1 %patch15 -p1 %endif +%patch5 -p1 %patch13 -p1 %patch14 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 + %if !0%{?is_opensuse} %patch1000 -p1 translation-update-upstream ++++++ gnome-shell-1036494-Catch-import-errors.patch ++++++ Index: gnome-shell-3.20.4/js/ui/extensionSystem.js =================================================================== --- gnome-shell-3.20.4.orig/js/ui/extensionSystem.js +++ gnome-shell-3.20.4/js/ui/extensionSystem.js @@ -224,7 +224,12 @@ function initExtension(uuid) { let extensionState = null; ExtensionUtils.installImporter(extension); - extensionModule = extension.imports.extension; + try { + extensionModule = extension.imports.extension; + } catch(e) { + logExtensionError(uuid, e); + return false; + } if (extensionModule.init) { try { ++++++ gnome-shell-1036494-Consistently-handle-createExtensionObject-errors.patch ++++++ Index: gnome-shell-3.20.4/js/ui/extensionDownloader.js =================================================================== --- gnome-shell-3.20.4.orig/js/ui/extensionDownloader.js +++ gnome-shell-3.20.4/js/ui/extensionDownloader.js @@ -130,12 +130,14 @@ function updateExtension(uuid) { FileUtils.recursivelyMoveDir(extensionDir, oldExtensionTmpDir); FileUtils.recursivelyMoveDir(newExtensionTmpDir, extensionDir); - let extension = ExtensionUtils.createExtensionObject(uuid, extensionDir, ExtensionUtils.ExtensionType.PER_USER); + let extension = null; try { + extension = ExtensionUtils.createExtensionObject(uuid, extensionDir, ExtensionUtils.ExtensionType.PER_USER); ExtensionSystem.loadExtension(extension); } catch(e) { - ExtensionSystem.unloadExtension(extension); + if (extension) + ExtensionSystem.unloadExtension(extension); logError(e, 'Error loading extension %s'.format(uuid)); @@ -242,9 +244,8 @@ const InstallExtensionDialog = new Lang. global.settings.set_strv(ExtensionSystem.ENABLED_EXTENSIONS_KEY, enabledExtensions); } - let extension = ExtensionUtils.createExtensionObject(uuid, dir, ExtensionUtils.ExtensionType.PER_USER); - try { + let extension = ExtensionUtils.createExtensionObject(uuid, dir, ExtensionUtils.ExtensionType.PER_USER); ExtensionSystem.loadExtension(extension); } catch(e) { uninstallExtension(uuid); Index: gnome-shell-3.20.4/js/ui/extensionSystem.js =================================================================== --- gnome-shell-3.20.4.orig/js/ui/extensionSystem.js +++ gnome-shell-3.20.4/js/ui/extensionSystem.js @@ -198,7 +198,14 @@ function reloadExtension(oldExtension) { unloadExtension(oldExtension); // Now, recreate the extension and load it. - let newExtension = ExtensionUtils.createExtensionObject(uuid, dir, type); + let newExtension; + try { + newExtension = ExtensionUtils.createExtensionObject(uuid, dir, type); + } catch(e) { + logExtensionError(uuid, e); + return; + } + loadExtension(newExtension); } ++++++ gnome-shell-1036494-Consistently-handle-initExtension-errors.patch ++++++ Index: gnome-shell-3.20.4/js/ui/extensionSystem.js =================================================================== --- gnome-shell-3.20.4.orig/js/ui/extensionSystem.js +++ gnome-shell-3.20.4/js/ui/extensionSystem.js @@ -217,8 +217,10 @@ function initExtension(uuid) { throw new Error("Extension was not properly created. Call loadExtension first"); let extensionJs = dir.get_child('extension.js'); - if (!extensionJs.query_exists(null)) - throw new Error('Missing extension.js'); + if (!extensionJs.query_exists(null)) { + logExtensionError(uuid, new Error('Missing extension.js')); + return false; + } let extensionModule; let extensionState = null; ++++++ gnome-shell-emulate-click-action.patch ++++++ >From 31c9d2cf7ace5efb2ab7eff5412f560551fb0212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuell...@gnome.org> Date: Fri, 16 Jun 2017 17:08:07 +0200 Subject: system: Emulate click action button release Since commit 2c070d38, we add a ClickAction to the visible AltSwitcher button to track long-presses. As a result, we now have two components that will grab and ungrab the pointer for the button, so to make sure we don't end up with a stuck grab, we need to release the second's component grab when the first activates. Currently we only drop the StButton grab on long-press, we also need to cancel any initiated long-press on click. https://bugzilla.gnome.org/show_bug.cgi?id=781738 --- js/ui/status/system.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/js/ui/status/system.js b/js/ui/status/system.js index 92ccf4c..8f99865 100644 --- a/js/ui/status/system.js +++ b/js/ui/status/system.js @@ -42,9 +42,15 @@ const AltSwitcher = new Lang.Class({ _init: function(standard, alternate) { this._standard = standard; this._standard.connect('notify::visible', Lang.bind(this, this._sync)); + if (this._standard instanceof St.Button) + this._standard.connect('clicked', + () => { this._clickAction.release(); }); this._alternate = alternate; this._alternate.connect('notify::visible', Lang.bind(this, this._sync)); + if (this._alternate instanceof St.Button) + this._alternate.connect('clicked', + () => { this._clickAction.release(); }); this._capturedEventId = global.stage.connect('captured-event', Lang.bind(this, this._onCapturedEvent)); -- cgit v0.12