[gnome-shell] statusMenu.js: Ensure screensaver is locked before	switching users
- From: Colin Walters <walters src gnome org>
 
- To: commits-list gnome org
 
- Cc: 
 
- Subject: [gnome-shell] statusMenu.js: Ensure screensaver is locked before	switching users
 
- Date: Wed, 13 Jul 2011 18:32:00 +0000 (UTC)
 
commit c632074ba7734b6b0b057ebec0d7535694c8ccf6
Author: Colin Walters <walters verbum org>
Date:   Tue Jul 5 09:29:05 2011 -0400
    statusMenu.js: Ensure screensaver is locked before switching users
    
    Somewhat similar to (see bug 637540), we need to lock the screensaver
    *before* asking GDM to switch.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=654565
 js/ui/statusMenu.js |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/statusMenu.js b/js/ui/statusMenu.js
index 7d49743..327fc4b 100644
--- a/js/ui/statusMenu.js
+++ b/js/ui/statusMenu.js
@@ -301,8 +301,11 @@ StatusMenuButton.prototype = {
 
     _onLoginScreenActivate: function() {
         Main.overview.hide();
-        this._gdm.goto_login_session();
-        this._onLockScreenActivate();
+        // Ensure we only move to GDM after the screensaver has activated; in some
+        // OS configurations, the X server may block event processing on VT switch
+        this._screenSaverProxy.setActiveRemote(true, Lang.bind(this, function() {
+            this._gdm.goto_login_session();
+        }));
     },
 
     _onQuitSessionActivate: function() {
@@ -315,6 +318,7 @@ StatusMenuButton.prototype = {
 
         if (this._haveSuspend &&
             this._suspendOrPowerOffItem.state == PopupMenu.PopupAlternatingMenuItemState.DEFAULT) {
+            // Ensure we only suspend after the screensaver has activated
             this._screenSaverProxy.SetActiveRemote(true, Lang.bind(this, function() {
                 this._upClient.suspend_sync(null);
             }));
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]