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


Reply via email to