[gnome-shell/wip/fmuellner/skip-lock-state-saving-on-wayland] screenShield: Do not save lock state on wayland



commit 0482c0c0c0eb3555239fac4b43298651e2a27eda
Author: Florian Müllner <fmuellner gnome org>
Date:   Mon Feb 5 11:37:09 2018 +0100

    screenShield: Do not save lock state on wayland
    
    We keep track of the lock state and restore it on startup to prevent
    a crash from bypassing the screen lock. However on wayland, a crash
    doesn't result in gnome-session restarting gnome-shell, but brings
    down the entire session - that is, restoring the lock state does not
    actually protect the existing session in that case, but forces the
    user to authenticate twice in order to start the next session. This
    is clearly not helpful, so avoid this by not saving the state when
    running as wayland compositor.

 js/ui/screenShield.js | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 9f3ff84ad..4bfde3e80 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -1283,7 +1283,10 @@ var ScreenShield = new Lang.Class({
 
         this._resetLockScreen({ animateLockScreen: animate,
                                 fadeToBlack: true });
-        global.set_runtime_state(LOCKED_STATE_STR, GLib.Variant.new('b', true));
+        // On wayland, a crash brings down the entire session, so we don't
+        // need to defend against being restarted unlocked
+        if (!Meta.is_wayland_compositor())
+            global.set_runtime_state(LOCKED_STATE_STR, GLib.Variant.new('b', true));
 
         // We used to set isActive and emit active-changed here,
         // but now we do that from lockScreenShown, which means


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]