loginDialog: defer loading user list until idle

In some cases we load the user list after going back
to main loop and in other cases we load the user list
right away (depending on if accounts service is ready).

In the case we load the user list right away we cause a
traceback because loading the user list forces a reset,
which then tries to reset actors which aren't instantiated
yet.

This commit ensures the user list is loaded after the constructor
finishes and the event loop runs irregardless of the accountsservice
state.

https://bugzilla.gnome.org/show_bug.cgi?id=721868
This commit is contained in:
Ray Strode 2014-01-09 10:42:08 -05:00
parent 03ab282f67
commit 2d2020a20d

View File

@ -464,7 +464,7 @@ const LoginDialog = new Lang.Class({
} }
})); }));
else else
this._loadUserList(); GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, this._loadUserList));
this._userList.connect('activate', this._userList.connect('activate',
Lang.bind(this, function(userList, item) { Lang.bind(this, function(userList, item) {