[gnome-shell] main: defer session update until startup animation
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] main: defer session update until startup animation
- Date: Mon, 4 Mar 2013 21:45:49 +0000 (UTC)
commit 260c082c4efb3b58202b278c1050dae95c17a7c2
Author: Ray Strode <rstrode redhat com>
Date: Sun Mar 3 21:58:37 2013 -0500
main: defer session update until startup animation
We currently call the session updated handler as soon as
the session modes are read. This handler sets up keybindings
for leaving the overview (if a user session) and shows the
login dialog (if a gdm session).
We can't do the latter until the stage is mapped because it
takes a grab, and we don't need to do the former until the
user goes into the overview.
This commit defers processing session updates until the
the layout manager says start up is prepared.
It fixes a race condition at login screen startup now that
we don't show the stage right away.
https://bugzilla.gnome.org/show_bug.cgi?id=694321
js/ui/main.js | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index a276162..df40300 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -159,8 +159,6 @@ function startSession() {
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
false, -1, 1);
global.display.connect('overlay-key', Lang.bind(overview, overview.toggle));
- sessionMode.connect('updated', _sessionUpdated);
- _sessionUpdated();
// Provide the bus object for gnome-session to
// initiate logouts.
@@ -201,6 +199,9 @@ function startSession() {
if (keybindingMode == Shell.KeyBindingMode.NONE) {
keybindingMode = Shell.KeyBindingMode.NORMAL;
}
+
+ sessionMode.connect('updated', _sessionUpdated);
+ _sessionUpdated();
});
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]