File gnome-shell-878951-hide-list-with-no-user.patch of Package gnome-shell.1083

diff -Npur gnome-shell-3.10.4/js/gdm/loginDialog.js gnome-shell-3.10.4-new/js/gdm/loginDialog.js
--- gnome-shell-3.10.4/js/gdm/loginDialog.js	2014-05-27 08:23:29.055450987 +0800
+++ gnome-shell-3.10.4-new/js/gdm/loginDialog.js	2014-05-30 08:23:04.470771769 +0800
@@ -551,6 +551,15 @@ const LoginDialog = new Lang.Class({
     _updateDisableUserList: function() {
         let disableUserList = this._settings.get_boolean(GdmUtil.DISABLE_USER_LIST_KEY);
 
+        if (disableUserList == false) {
+            if (this._userListLoaded == true) {
+                let items = this._userList._items;
+                let hasItems = Object.keys(items).length > 0;
+                if (hasItems == false)
+                    disableUserList = true;
+            }
+        }
+
         if (disableUserList != this._disableUserList) {
             this._disableUserList = disableUserList;
 
@@ -964,15 +973,18 @@ const LoginDialog = new Lang.Class({
         for (let i = 0; i < users.length; i++) {
             this._userList.addUser(users[i]);
         }
+        this._updateDisableUserList();
 
         this._userManager.connect('user-added',
                                   Lang.bind(this, function(userManager, user) {
                                       this._userList.addUser(user);
+                                      this._updateDisableUserList();
                                   }));
 
         this._userManager.connect('user-removed',
                                   Lang.bind(this, function(userManager, user) {
                                       this._userList.removeUser(user);
+                                      this._updateDisableUserList();
                                   }));
 
         return GLib.SOURCE_REMOVE;
openSUSE Build Service is sponsored by