[gnome-shell] screenShield: Don't wait until the dialog is loaded before opening it
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] screenShield: Don't wait until the dialog is loaded before opening it
- Date: Mon, 11 Mar 2013 19:08:43 +0000 (UTC)
commit 127f10e7a8bbbbd089d217f8cd89971c187ae9c3
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Tue Mar 5 01:51:28 2013 -0500
screenShield: Don't wait until the dialog is loaded before opening it
If we wait asynchronously, key presses while the shield is opening
will be dropped in the void.
https://bugzilla.gnome.org/show_bug.cgi?id=686740
js/gdm/loginDialog.js | 11 +----------
js/ui/screenShield.js | 14 ++++++--------
js/ui/unlockDialog.js | 5 -----
3 files changed, 7 insertions(+), 23 deletions(-)
---
diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js
index b1ee384..e9cb99f 100644
--- a/js/gdm/loginDialog.js
+++ b/js/gdm/loginDialog.js
@@ -1014,7 +1014,7 @@ const LoginDialog = new Lang.Class({
function() {
// If we're just starting out, start on the right
// item.
- if (!this.is_loaded) {
+ if (!this._userManager.is_loaded) {
this._userList.jumpToItem(this._timedLoginItem);
}
},
@@ -1152,15 +1152,6 @@ const LoginDialog = new Lang.Class({
Lang.bind(this, function(userManager, user) {
this._userList.removeUser(user);
}));
-
- // emitted in idle so caller doesn't have to explicitly check if
- // it's loaded immediately after construction
- // (since there's no way the caller could be listening for
- // 'loaded' yet)
- Mainloop.idle_add(Lang.bind(this, function() {
- this.emit('loaded');
- this.is_loaded = true;
- }));
},
_onOpened: function() {
diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js
index 4081219..ada1024 100644
--- a/js/ui/screenShield.js
+++ b/js/ui/screenShield.js
@@ -892,14 +892,12 @@ const ScreenShield = new Lang.Class({
let time = global.get_current_time();
- this._dialog.connect('loaded', Lang.bind(this, function() {
- if (!this._dialog.open(time, onPrimary)) {
- // This is kind of an impossible error: we're already modal
- // by the time we reach this...
- log('Could not open login dialog: failed to acquire grab');
- this.deactivate(true);
- }
- }));
+ if (!this._dialog.open(time, onPrimary)) {
+ // This is kind of an impossible error: we're already modal
+ // by the time we reach this...
+ log('Could not open login dialog: failed to acquire grab');
+ this.deactivate(true);
+ }
this._dialog.connect('failed', Lang.bind(this, this._onUnlockFailed));
this._dialog.connect('unlocked', Lang.bind(this, this._onUnlockSucceded));
diff --git a/js/ui/unlockDialog.js b/js/ui/unlockDialog.js
index 775cab5..07cbe4f 100644
--- a/js/ui/unlockDialog.js
+++ b/js/ui/unlockDialog.js
@@ -141,11 +141,6 @@ const UnlockDialog = new Lang.Class({
let batch = new Batch.Hold();
this._userVerifier.begin(this._userName, batch);
- GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
- this.emit('loaded');
- return false;
- }));
-
Main.ctrlAltTabManager.addGroup(this.dialogLayout, _("Unlock Window"), 'dialog-password-symbolic');
this._idleMonitor = new GnomeDesktop.IdleMonitor();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]