From 7ad744fded1a694a2b258795f3cf0ddd05ff6ce8 Mon Sep 17 00:00:00 2001
From: mezz <mezz@df743ca5-7f9a-e211-a948-0013205c9059>
Date: Wed, 21 Mar 2012 03:17:07 +0000
Subject: Fix the login dialog, same hack that I did with Cinnamon. Before this
 patch, the gnome-shell/Cinnamon will boot up without login dialog that there
 is no way for you to log into GNOME desktop. I am not sure why the
 Object.keys(obj) doesn't work though. Probably because of the libxul that I
 don't really dig in it deeper. It was introduced in JavaScript 1.8.5, so I
 don't know what version of JavaScript in libxul.

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys

In the /var/log/gdm/:0-greeter.log shows:
------------------------------------------
    JS ERROR: !!!   Exception was: TypeError: Object.keys is not a function
    JS ERROR: !!!     lineNumber = '305'
    JS ERROR: !!!     fileName = '"/usr/local/share/gnome-shell/js/gdm/loginDialog.js"'
    JS ERROR: !!!     stack = '"()@/usr/local/share/gnome-shell/js/gdm/loginDialog.js:305
------------------------------------------

Bump the PORTREVISION.


git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@16702 df743ca5-7f9a-e211-a948-0013205c9059
---
 x11/gnome-shell/Makefile                          |  3 ++-
 x11/gnome-shell/files/patch-js_gdm_loginDialog.js | 23 +++++++++++++++++++++++
 2 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 x11/gnome-shell/files/patch-js_gdm_loginDialog.js

diff --git a/x11/gnome-shell/Makefile b/x11/gnome-shell/Makefile
index c2df9702a..59c1a25eb 100644
--- a/x11/gnome-shell/Makefile
+++ b/x11/gnome-shell/Makefile
@@ -3,11 +3,12 @@
 # Whom:                Pawel Worach <pawel.worach@gmail.com>
 #
 # $FreeBSD$
-#   $MCom: ports/x11/gnome-shell/Makefile,v 1.50 2012/02/04 20:35:54 kwm Exp $
+#   $MCom: ports/x11/gnome-shell/Makefile,v 1.51 2012/02/06 15:29:02 kwm Exp $
 #
 
 PORTNAME=	gnome-shell
 PORTVERSION=	3.2.2.1
+PORTREVISION=	1
 CATEGORIES=	x11 gnome
 MASTER_SITES=	GNOME
 DIST_SUBDIR=	gnome3
diff --git a/x11/gnome-shell/files/patch-js_gdm_loginDialog.js b/x11/gnome-shell/files/patch-js_gdm_loginDialog.js
new file mode 100644
index 000000000..a7fbe75e0
--- /dev/null
+++ b/x11/gnome-shell/files/patch-js_gdm_loginDialog.js
@@ -0,0 +1,23 @@
+--- js/gdm/loginDialog.js	2012-03-20 22:08:13.000000000 -0500
++++ js/gdm/loginDialog.js.orig	2012-03-20 22:07:01.000000000 -0500
+@@ -301,17 +301,11 @@
+         this.actor.connect('key-focus-in', Lang.bind(this, this._moveFocusToItems));
+     },
+ 
+-    _hasItems: function() {
+-        for (let userName in this._items) {
+-            return true;
+-        }
+-        return false;
+-    },
+-
+     _moveFocusToItems: function() {
+-        if (!this._hasItems()) {
++        let hasItems = Object.keys(this._items).length > 0;
++
++        if (!hasItems)
+             return;
+-        }
+ 
+         if (global.stage.get_key_focus() != this.actor)
+             return;
-- 
cgit v1.2.3