Hello community,

here is the log from the commit of package gnome-shell for openSUSE:Factory 
checked in at 2020-06-14 18:14:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-shell.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-shell"

Sun Jun 14 18:14:31 2020 rev:182 rq:813529 version:3.36.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes  2020-06-08 
23:51:06.762674988 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new.3606/gnome-shell.changes        
2020-06-14 18:14:40.230714889 +0200
@@ -1,0 +2,8 @@
+Thu Jun 11 02:44:58 UTC 2020 - QK ZHU <[email protected]>
+
+- Add gnome-shell-disable-screensaver-user-switch-when-remote.patch: 
+  This patch will set the button invisible when the user's can_switch
+  is false (e.g. when the session is remote) or user-switch-enabled is
+  disabled (bsc#1167276 glgo#GNOME/gnome-shell!1215).
+
+-------------------------------------------------------------------

New:
----
  gnome-shell-disable-screensaver-user-switch-when-remote.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-shell.spec ++++++
--- /var/tmp/diff_new_pack.OfNqjR/_old  2020-06-14 18:14:42.430722275 +0200
+++ /var/tmp/diff_new_pack.OfNqjR/_new  2020-06-14 18:14:42.434722288 +0200
@@ -42,6 +42,8 @@
 Patch5:         
gnome-shell-jscSLE9267-Remove-sessionList-of-endSessionDialog.patch
 # PATCH-FIX-UPSTREAM 
gnome-shell-Get-resource-scale-by-get_resource_scale.patch bsc#1169845 
glgo#GNOME/gnome-shell!1206 [email protected] -- Get resource scale by 
get_resource_scale
 Patch6:         gnome-shell-Get-resource-scale-by-get_resource_scale.patch
+# PATCH-FIX-UPSTREAM 
gnome-shell-disable-screensaver-user-switch-when-remote.patch bsc#1167276 
glgo#GNOME/gnome-shell!1215 [email protected] -- Set Switch User Button invisible 
when session is Remote
+Patch7:         gnome-shell-disable-screensaver-user-switch-when-remote.patch
 
 ## NOTE: Keep SLE-only patches at bottom (starting on 1000).
 # PATCH-FEATURE-SLE gnome-shell-gdm-login-applet.patch fate#314545 
[email protected] -- Add an applet on login UI to display suse icon, product 
name, hostname.
@@ -181,6 +183,7 @@
 #patch4 -p1
 #patch5 -p1
 %patch6 -p1
+%patch7 -p1
 
 translation-update-upstream
 

++++++ gnome-shell-disable-screensaver-user-switch-when-remote.patch ++++++
>From d2cf13eff4f91e60fbceb7e28573d80eb5b908bb Mon Sep 17 00:00:00 2001
From: Chingkai <[email protected]>
Date: Sat, 25 Apr 2020 16:29:16 +0800
Subject: [PATCH] unlockDialog: Set Switch User Button via
 _updateUserSwitchVisibility

This commit will set the button invisible when the user's can_switch
is false (e.g. when the session is remote) or user-switch-enabled is
disabled.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2687
---
 js/ui/unlockDialog.js | 29 ++++++++++++++++++++++++++---
 1 file changed, 26 insertions(+), 3 deletions(-)

diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index f74f4be23..cbcc2e512 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -566,9 +566,17 @@ var UnlockDialog = GObject.registerClass({
         this._otherUserButton.set_pivot_point(0.5, 0.5);
         this._otherUserButton.connect('clicked', 
this._otherUserClicked.bind(this));
 
-        let screenSaverSettings = new Gio.Settings({ schema_id: 
'org.gnome.desktop.screensaver' });
-        screenSaverSettings.bind('user-switch-enabled',
-            this._otherUserButton, 'visible', Gio.SettingsBindFlags.GET);
+        this._screenSaverSettings = new Gio.Settings({ schema_id: 
'org.gnome.desktop.screensaver' });
+
+        this._userSwitchEnabledId = 0;
+        this._userSwitchEnabledId = 
this._screenSaverSettings.connect('changed::user-switch-enabled',
+            this._updateUserSwitchVisibility.bind(this));
+
+        this._userLoadedId = 0;
+        this._userLoadedId = this._user.connect('notify::is-loaded',
+            this._updateUserSwitchVisibility.bind(this));
+
+        this._updateUserSwitchVisibility();
 
         // Main Box
         let mainBox = new St.Widget();
@@ -828,6 +836,21 @@ var UnlockDialog = GObject.registerClass({
             this._gdmClient = null;
             delete this._gdmClient;
         }
+
+        if (this._userLoadedId) {
+            this._user.disconnect(this._userLoadedId);
+            this._userLoadedId = 0;
+        }
+
+        if (this._userSwitchEnabledId) {
+            this._screenSaverSettings.disconnect(this._userSwitchEnabledId);
+            this._userSwitchEnabledId = 0;
+        }
+    }
+
+    _updateUserSwitchVisibility() {
+        this._otherUserButton.visible = this._userManager.can_switch() &&
+            this._screenSaverSettings.get_boolean('user-switch-enabled');
     }
 
     cancel() {
-- 
2.26.2



Reply via email to