Date: Wednesday, December 4, 2013 @ 21:10:59 Author: jgc Revision: 200769
archrelease: copy trunk to extra-i686, extra-x86_64 Added: gnome-shell/repos/extra-i686/PKGBUILD (from rev 200768, gnome-shell/trunk/PKGBUILD) gnome-shell/repos/extra-i686/git-fixes.patch (from rev 200768, gnome-shell/trunk/git-fixes.patch) gnome-shell/repos/extra-i686/gnome-shell.install (from rev 200768, gnome-shell/trunk/gnome-shell.install) gnome-shell/repos/extra-i686/nm-libexecdir.patch (from rev 200768, gnome-shell/trunk/nm-libexecdir.patch) gnome-shell/repos/extra-x86_64/PKGBUILD (from rev 200768, gnome-shell/trunk/PKGBUILD) gnome-shell/repos/extra-x86_64/git-fixes.patch (from rev 200768, gnome-shell/trunk/git-fixes.patch) gnome-shell/repos/extra-x86_64/gnome-shell.install (from rev 200768, gnome-shell/trunk/gnome-shell.install) gnome-shell/repos/extra-x86_64/nm-libexecdir.patch (from rev 200768, gnome-shell/trunk/nm-libexecdir.patch) Deleted: gnome-shell/repos/extra-i686/PKGBUILD gnome-shell/repos/extra-i686/gnome-shell.install gnome-shell/repos/extra-i686/nm-libexecdir.patch gnome-shell/repos/extra-x86_64/PKGBUILD gnome-shell/repos/extra-x86_64/gnome-shell.install gnome-shell/repos/extra-x86_64/nm-libexecdir.patch ----------------------------------+ /PKGBUILD | 110 ++++++++++++++++++++ /gnome-shell.install | 38 +++++++ /nm-libexecdir.patch | 24 ++++ extra-i686/PKGBUILD | 52 --------- extra-i686/git-fixes.patch | 195 +++++++++++++++++++++++++++++++++++++ extra-i686/gnome-shell.install | 19 --- extra-i686/nm-libexecdir.patch | 12 -- extra-x86_64/PKGBUILD | 52 --------- extra-x86_64/git-fixes.patch | 195 +++++++++++++++++++++++++++++++++++++ extra-x86_64/gnome-shell.install | 19 --- extra-x86_64/nm-libexecdir.patch | 12 -- 11 files changed, 562 insertions(+), 166 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-i686/PKGBUILD 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,52 +0,0 @@ -# $Id$ -# Maintainer: Ionut Biru <ib...@archlinux.org> -# Contributor: Flamelab <panosfi...@gmail.com - -pkgname=gnome-shell -pkgver=3.10.2.1 -pkgrel=1 -pkgdesc="The next generation GNOME Shell" -arch=(i686 x86_64) -url="http://live.gnome.org/GnomeShell" -license=(GPL2) -depends=(accountsservice caribou evolution-data-server gcr gjs gnome-bluetooth gnome-menus - gnome-session gnome-settings-daemon gnome-themes-standard gsettings-desktop-schemas - libcanberra-pulse libcroco libgdm libsecret mutter mutter-wayland network-manager-applet - telepathy-logger telepathy-mission-control unzip) -makedepends=(intltool gtk-doc gnome-control-center) -optdepends=('gnome-control-center: System settings') -options=('!emptydirs') -install=gnome-shell.install -groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz - nm-libexecdir.patch) -sha256sums=('d28cedc4f7dbcbd979ef2a0b80f722ff507989fce193fe59351b1d048d17c44c' - 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') - -prepare() { - cd $pkgname-$pkgver - - # FS#30747 FS#32730 Problems due to libexecdir different from NM - patch -Np1 -i ../nm-libexecdir.patch - - # Build against mutter-wayland 3.9.92 - sed -ri 's/^(MUTTER_MIN_VERSION)=.*/\1=3.9.92/' configure -} - -build() { - cd $pkgname-$pkgver - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/gnome-shell \ - --localstatedir=/var --disable-static \ - --disable-schemas-compile - - # https://bugzilla.gnome.org/show_bug.cgi?id=655517 - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: gnome-shell/repos/extra-i686/PKGBUILD (from rev 200768, gnome-shell/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,55 @@ +# $Id$ +# Maintainer: Ionut Biru <ib...@archlinux.org> +# Contributor: Flamelab <panosfi...@gmail.com + +pkgname=gnome-shell +pkgver=3.10.2.1 +pkgrel=2 +pkgdesc="The next generation GNOME Shell" +arch=(i686 x86_64) +url="http://live.gnome.org/GnomeShell" +license=(GPL2) +depends=(accountsservice caribou gcr gjs gnome-bluetooth gnome-menus + gnome-session gnome-settings-daemon gnome-themes-standard gsettings-desktop-schemas + libcanberra-pulse libcroco libgdm libsecret mutter mutter-wayland network-manager-applet + telepathy-logger telepathy-mission-control unzip) +makedepends=(intltool gtk-doc gnome-control-center evolution-data-server) +optdepends=('gnome-control-center: System settings' + 'evolution-data-server: Evolution calendar integration') +options=('!emptydirs') +install=gnome-shell.install +groups=(gnome) +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + nm-libexecdir.patch + git-fixes.patch) +sha256sums=('d28cedc4f7dbcbd979ef2a0b80f722ff507989fce193fe59351b1d048d17c44c' + 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' + '192d95387dff5ac772968680cb77abef135b3ad7218676ad51c997d474642cc5') + +prepare() { + cd $pkgname-$pkgver + + # FS#30747 FS#32730 Problems due to libexecdir different from NM + patch -Np1 -i ../nm-libexecdir.patch + + # Upstream fixes from 3-10 branch. Includes security bugfix for FS#37930 + patch -Np1 -i ../git-fixes.patch +} + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gnome-shell \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: gnome-shell/repos/extra-i686/git-fixes.patch (from rev 200768, gnome-shell/trunk/git-fixes.patch) =================================================================== --- extra-i686/git-fixes.patch (rev 0) +++ extra-i686/git-fixes.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,195 @@ +diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js +index 1880e36..996b363 100644 +--- a/js/gdm/authPrompt.js ++++ b/js/gdm/authPrompt.js +@@ -263,10 +263,8 @@ const AuthPrompt = new Lang.Class({ + }, + + _onReset: function() { +- if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) { +- this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; +- this.reset(); +- } ++ this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; ++ this.reset(); + }, + + addActorToDefaultButtonWell: function(actor) { +diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js +index eb94554..fb3cf70 100644 +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -907,6 +907,10 @@ const LoginDialog = new Lang.Class({ + Main.ctrlAltTabManager.removeGroup(this.dialogLayout); + }, + ++ cancel: function() { ++ this._authPrompt.cancel(); ++ }, ++ + addCharacter: function(unichar) { + this._authPrompt.addCharacter(unichar); + }, +diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js +index a929451..dde7b82 100644 +--- a/js/ui/extensionSystem.js ++++ b/js/ui/extensionSystem.js +@@ -76,7 +76,11 @@ function disableExtension(uuid) { + theme.unload_stylesheet(extension.stylesheet.get_path()); + } + +- extension.stateObj.disable(); ++ try { ++ extension.stateObj.disable(); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ } + + for (let i = 0; i < order.length; i++) { + let uuid = order[i]; +@@ -89,8 +93,10 @@ function disableExtension(uuid) { + + extensionOrder.splice(orderIdx, 1); + +- extension.state = ExtensionState.DISABLED; +- _signals.emit('extension-state-changed', extension); ++ if ( extension.state != ExtensionState.ERROR ) { ++ extension.state = ExtensionState.DISABLED; ++ _signals.emit('extension-state-changed', extension); ++ } + } + + function enableExtension(uuid) { +@@ -117,10 +123,15 @@ function enableExtension(uuid) { + } + } + +- extension.stateObj.enable(); +- +- extension.state = ExtensionState.ENABLED; +- _signals.emit('extension-state-changed', extension); ++ try { ++ extension.stateObj.enable(); ++ extension.state = ExtensionState.ENABLED; ++ _signals.emit('extension-state-changed', extension); ++ return; ++ } catch(e) { ++ logExtensionError(uuid, e); ++ return; ++ } + } + + function logExtensionError(uuid, error) { +@@ -150,7 +161,8 @@ function loadExtension(extension) { + } else { + let enabled = enabledExtensions.indexOf(extension.uuid) != -1; + if (enabled) { +- initExtension(extension.uuid); ++ if (!initExtension(extension.uuid)) ++ return; + if (extension.state == ExtensionState.DISABLED) + enableExtension(extension.uuid); + } else { +@@ -205,7 +217,12 @@ function initExtension(uuid) { + extensionModule = extension.imports.extension; + + if (extensionModule.init) { +- extensionState = extensionModule.init(extension); ++ try { ++ extensionState = extensionModule.init(extension); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ return false; ++ } + } + + if (!extensionState) +@@ -214,6 +231,7 @@ function initExtension(uuid) { + + extension.state = ExtensionState.DISABLED; + _signals.emit('extension-loaded', uuid); ++ return true; + } + + function getEnabledExtensions() { +@@ -235,11 +253,7 @@ function onEnabledExtensionsChanged() { + newEnabledExtensions.filter(function(uuid) { + return enabledExtensions.indexOf(uuid) == -1; + }).forEach(function(uuid) { +- try { + enableExtension(uuid); +- } catch(e) { +- logExtensionError(uuid, e); +- } + }); + + // Find and disable all the newly disabled extensions: UUIDs found in the +@@ -247,11 +261,7 @@ function onEnabledExtensionsChanged() { + enabledExtensions.filter(function(item) { + return newEnabledExtensions.indexOf(item) == -1; + }).forEach(function(uuid) { +- try { + disableExtension(uuid); +- } catch(e) { +- logExtensionError(uuid, e); +- } + }); + + enabledExtensions = newEnabledExtensions; +@@ -263,11 +273,7 @@ function _loadExtensions() { + + let finder = new ExtensionUtils.ExtensionFinder(); + finder.connect('extension-found', function(signals, extension) { +- try { +- loadExtension(extension); +- } catch(e) { +- logExtensionError(extension.uuid, e); +- } ++ loadExtension(extension); + }); + finder.scanExtensions(); + } +diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js +index c66c9f6..d290a3d 100644 +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -2392,6 +2392,13 @@ const MessageTray = new Lang.Class({ + // _updateState() figures out what (if anything) needs to be done + // at the present time. + _updateState: function() { ++ // If our state changes caused _updateState to be called, ++ // just exit now to prevent reentrancy issues. ++ if (this._updatingState) ++ return; ++ ++ this._updatingState = true; ++ + // Filter out acknowledged notifications. + this._notificationQueue = this._notificationQueue.filter(function(n) { + return !n.acknowledged; +@@ -2474,6 +2481,8 @@ const MessageTray = new Lang.Class({ + } else if (desktopCloneIsVisible && !desktopCloneShouldBeVisible) { + this._hideDesktopClone(); + } ++ ++ this._updatingState = false; + }, + + _tween: function(actor, statevar, value, params) { +@@ -2838,13 +2847,13 @@ const MessageTray = new Lang.Class({ + Lang.bind(this, this._onSourceDoneDisplayingContent)); + + this._summaryBoxPointer.bin.child = child; +- this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child, +- onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) }); +- + this._summaryBoxPointer.actor.opacity = 0; + this._summaryBoxPointer.actor.show(); + this._adjustSummaryBoxPointerPosition(); + ++ this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child, ++ onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) }); ++ + this._summaryBoxPointerState = State.SHOWING; + this._summaryBoxPointer.show(BoxPointer.PopupAnimation.FULL, Lang.bind(this, function() { + this._summaryBoxPointerState = State.SHOWN; Deleted: extra-i686/gnome-shell.install =================================================================== --- extra-i686/gnome-shell.install 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-i686/gnome-shell.install 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,19 +0,0 @@ -pkgname=gnome-shell - -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -pre_upgrade() { - if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then - gconfpkg --uninstall $pkgname - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: gnome-shell/repos/extra-i686/gnome-shell.install (from rev 200768, gnome-shell/trunk/gnome-shell.install) =================================================================== --- extra-i686/gnome-shell.install (rev 0) +++ extra-i686/gnome-shell.install 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,19 @@ +pkgname=gnome-shell + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: extra-i686/nm-libexecdir.patch =================================================================== --- extra-i686/nm-libexecdir.patch 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-i686/nm-libexecdir.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,12 +0,0 @@ -diff -u -Nr gnome-shell-3.6.3.1/js/ui/components/networkAgent.js gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js ---- gnome-shell-3.6.3.1/js/ui/components/networkAgent.js 2013-02-20 20:31:03.000000000 +0100 -+++ gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js 2013-03-10 17:13:46.120907065 +0100 -@@ -686,7 +686,7 @@ - } catch(e) { } // ignore errors if key does not exist - let path = binary; - if (!GLib.path_is_absolute(path)) { -- path = GLib.build_filenamev([Config.LIBEXECDIR, path]); -+ path = GLib.build_filenamev(["/usr/lib/networkmanager", path]); - } - - if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE)) Copied: gnome-shell/repos/extra-i686/nm-libexecdir.patch (from rev 200768, gnome-shell/trunk/nm-libexecdir.patch) =================================================================== --- extra-i686/nm-libexecdir.patch (rev 0) +++ extra-i686/nm-libexecdir.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,12 @@ +diff -u -Nr gnome-shell-3.6.3.1/js/ui/components/networkAgent.js gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js +--- gnome-shell-3.6.3.1/js/ui/components/networkAgent.js 2013-02-20 20:31:03.000000000 +0100 ++++ gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js 2013-03-10 17:13:46.120907065 +0100 +@@ -686,7 +686,7 @@ + } catch(e) { } // ignore errors if key does not exist + let path = binary; + if (!GLib.path_is_absolute(path)) { +- path = GLib.build_filenamev([Config.LIBEXECDIR, path]); ++ path = GLib.build_filenamev(["/usr/lib/networkmanager", path]); + } + + if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE)) Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-x86_64/PKGBUILD 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,52 +0,0 @@ -# $Id$ -# Maintainer: Ionut Biru <ib...@archlinux.org> -# Contributor: Flamelab <panosfi...@gmail.com - -pkgname=gnome-shell -pkgver=3.10.2.1 -pkgrel=1 -pkgdesc="The next generation GNOME Shell" -arch=(i686 x86_64) -url="http://live.gnome.org/GnomeShell" -license=(GPL2) -depends=(accountsservice caribou evolution-data-server gcr gjs gnome-bluetooth gnome-menus - gnome-session gnome-settings-daemon gnome-themes-standard gsettings-desktop-schemas - libcanberra-pulse libcroco libgdm libsecret mutter mutter-wayland network-manager-applet - telepathy-logger telepathy-mission-control unzip) -makedepends=(intltool gtk-doc gnome-control-center) -optdepends=('gnome-control-center: System settings') -options=('!emptydirs') -install=gnome-shell.install -groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz - nm-libexecdir.patch) -sha256sums=('d28cedc4f7dbcbd979ef2a0b80f722ff507989fce193fe59351b1d048d17c44c' - 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') - -prepare() { - cd $pkgname-$pkgver - - # FS#30747 FS#32730 Problems due to libexecdir different from NM - patch -Np1 -i ../nm-libexecdir.patch - - # Build against mutter-wayland 3.9.92 - sed -ri 's/^(MUTTER_MIN_VERSION)=.*/\1=3.9.92/' configure -} - -build() { - cd $pkgname-$pkgver - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ - --libexecdir=/usr/lib/gnome-shell \ - --localstatedir=/var --disable-static \ - --disable-schemas-compile - - # https://bugzilla.gnome.org/show_bug.cgi?id=655517 - sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool - - make -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install -} Copied: gnome-shell/repos/extra-x86_64/PKGBUILD (from rev 200768, gnome-shell/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,55 @@ +# $Id$ +# Maintainer: Ionut Biru <ib...@archlinux.org> +# Contributor: Flamelab <panosfi...@gmail.com + +pkgname=gnome-shell +pkgver=3.10.2.1 +pkgrel=2 +pkgdesc="The next generation GNOME Shell" +arch=(i686 x86_64) +url="http://live.gnome.org/GnomeShell" +license=(GPL2) +depends=(accountsservice caribou gcr gjs gnome-bluetooth gnome-menus + gnome-session gnome-settings-daemon gnome-themes-standard gsettings-desktop-schemas + libcanberra-pulse libcroco libgdm libsecret mutter mutter-wayland network-manager-applet + telepathy-logger telepathy-mission-control unzip) +makedepends=(intltool gtk-doc gnome-control-center evolution-data-server) +optdepends=('gnome-control-center: System settings' + 'evolution-data-server: Evolution calendar integration') +options=('!emptydirs') +install=gnome-shell.install +groups=(gnome) +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz + nm-libexecdir.patch + git-fixes.patch) +sha256sums=('d28cedc4f7dbcbd979ef2a0b80f722ff507989fce193fe59351b1d048d17c44c' + 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' + '192d95387dff5ac772968680cb77abef135b3ad7218676ad51c997d474642cc5') + +prepare() { + cd $pkgname-$pkgver + + # FS#30747 FS#32730 Problems due to libexecdir different from NM + patch -Np1 -i ../nm-libexecdir.patch + + # Upstream fixes from 3-10 branch. Includes security bugfix for FS#37930 + patch -Np1 -i ../git-fixes.patch +} + +build() { + cd $pkgname-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ + --libexecdir=/usr/lib/gnome-shell \ + --localstatedir=/var --disable-static \ + --disable-schemas-compile + + # https://bugzilla.gnome.org/show_bug.cgi?id=655517 + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} Copied: gnome-shell/repos/extra-x86_64/git-fixes.patch (from rev 200768, gnome-shell/trunk/git-fixes.patch) =================================================================== --- extra-x86_64/git-fixes.patch (rev 0) +++ extra-x86_64/git-fixes.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,195 @@ +diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js +index 1880e36..996b363 100644 +--- a/js/gdm/authPrompt.js ++++ b/js/gdm/authPrompt.js +@@ -263,10 +263,8 @@ const AuthPrompt = new Lang.Class({ + }, + + _onReset: function() { +- if (this.verificationStatus != AuthPromptStatus.VERIFICATION_SUCCEEDED) { +- this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; +- this.reset(); +- } ++ this.verificationStatus = AuthPromptStatus.NOT_VERIFYING; ++ this.reset(); + }, + + addActorToDefaultButtonWell: function(actor) { +diff --git a/js/gdm/loginDialog.js b/js/gdm/loginDialog.js +index eb94554..fb3cf70 100644 +--- a/js/gdm/loginDialog.js ++++ b/js/gdm/loginDialog.js +@@ -907,6 +907,10 @@ const LoginDialog = new Lang.Class({ + Main.ctrlAltTabManager.removeGroup(this.dialogLayout); + }, + ++ cancel: function() { ++ this._authPrompt.cancel(); ++ }, ++ + addCharacter: function(unichar) { + this._authPrompt.addCharacter(unichar); + }, +diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js +index a929451..dde7b82 100644 +--- a/js/ui/extensionSystem.js ++++ b/js/ui/extensionSystem.js +@@ -76,7 +76,11 @@ function disableExtension(uuid) { + theme.unload_stylesheet(extension.stylesheet.get_path()); + } + +- extension.stateObj.disable(); ++ try { ++ extension.stateObj.disable(); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ } + + for (let i = 0; i < order.length; i++) { + let uuid = order[i]; +@@ -89,8 +93,10 @@ function disableExtension(uuid) { + + extensionOrder.splice(orderIdx, 1); + +- extension.state = ExtensionState.DISABLED; +- _signals.emit('extension-state-changed', extension); ++ if ( extension.state != ExtensionState.ERROR ) { ++ extension.state = ExtensionState.DISABLED; ++ _signals.emit('extension-state-changed', extension); ++ } + } + + function enableExtension(uuid) { +@@ -117,10 +123,15 @@ function enableExtension(uuid) { + } + } + +- extension.stateObj.enable(); +- +- extension.state = ExtensionState.ENABLED; +- _signals.emit('extension-state-changed', extension); ++ try { ++ extension.stateObj.enable(); ++ extension.state = ExtensionState.ENABLED; ++ _signals.emit('extension-state-changed', extension); ++ return; ++ } catch(e) { ++ logExtensionError(uuid, e); ++ return; ++ } + } + + function logExtensionError(uuid, error) { +@@ -150,7 +161,8 @@ function loadExtension(extension) { + } else { + let enabled = enabledExtensions.indexOf(extension.uuid) != -1; + if (enabled) { +- initExtension(extension.uuid); ++ if (!initExtension(extension.uuid)) ++ return; + if (extension.state == ExtensionState.DISABLED) + enableExtension(extension.uuid); + } else { +@@ -205,7 +217,12 @@ function initExtension(uuid) { + extensionModule = extension.imports.extension; + + if (extensionModule.init) { +- extensionState = extensionModule.init(extension); ++ try { ++ extensionState = extensionModule.init(extension); ++ } catch(e) { ++ logExtensionError(uuid, e); ++ return false; ++ } + } + + if (!extensionState) +@@ -214,6 +231,7 @@ function initExtension(uuid) { + + extension.state = ExtensionState.DISABLED; + _signals.emit('extension-loaded', uuid); ++ return true; + } + + function getEnabledExtensions() { +@@ -235,11 +253,7 @@ function onEnabledExtensionsChanged() { + newEnabledExtensions.filter(function(uuid) { + return enabledExtensions.indexOf(uuid) == -1; + }).forEach(function(uuid) { +- try { + enableExtension(uuid); +- } catch(e) { +- logExtensionError(uuid, e); +- } + }); + + // Find and disable all the newly disabled extensions: UUIDs found in the +@@ -247,11 +261,7 @@ function onEnabledExtensionsChanged() { + enabledExtensions.filter(function(item) { + return newEnabledExtensions.indexOf(item) == -1; + }).forEach(function(uuid) { +- try { + disableExtension(uuid); +- } catch(e) { +- logExtensionError(uuid, e); +- } + }); + + enabledExtensions = newEnabledExtensions; +@@ -263,11 +273,7 @@ function _loadExtensions() { + + let finder = new ExtensionUtils.ExtensionFinder(); + finder.connect('extension-found', function(signals, extension) { +- try { +- loadExtension(extension); +- } catch(e) { +- logExtensionError(extension.uuid, e); +- } ++ loadExtension(extension); + }); + finder.scanExtensions(); + } +diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js +index c66c9f6..d290a3d 100644 +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -2392,6 +2392,13 @@ const MessageTray = new Lang.Class({ + // _updateState() figures out what (if anything) needs to be done + // at the present time. + _updateState: function() { ++ // If our state changes caused _updateState to be called, ++ // just exit now to prevent reentrancy issues. ++ if (this._updatingState) ++ return; ++ ++ this._updatingState = true; ++ + // Filter out acknowledged notifications. + this._notificationQueue = this._notificationQueue.filter(function(n) { + return !n.acknowledged; +@@ -2474,6 +2481,8 @@ const MessageTray = new Lang.Class({ + } else if (desktopCloneIsVisible && !desktopCloneShouldBeVisible) { + this._hideDesktopClone(); + } ++ ++ this._updatingState = false; + }, + + _tween: function(actor, statevar, value, params) { +@@ -2838,13 +2847,13 @@ const MessageTray = new Lang.Class({ + Lang.bind(this, this._onSourceDoneDisplayingContent)); + + this._summaryBoxPointer.bin.child = child; +- this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child, +- onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) }); +- + this._summaryBoxPointer.actor.opacity = 0; + this._summaryBoxPointer.actor.show(); + this._adjustSummaryBoxPointerPosition(); + ++ this._grabHelper.grab({ actor: this._summaryBoxPointer.bin.child, ++ onUngrab: Lang.bind(this, this._onSummaryBoxPointerUngrabbed) }); ++ + this._summaryBoxPointerState = State.SHOWING; + this._summaryBoxPointer.show(BoxPointer.PopupAnimation.FULL, Lang.bind(this, function() { + this._summaryBoxPointerState = State.SHOWN; Deleted: extra-x86_64/gnome-shell.install =================================================================== --- extra-x86_64/gnome-shell.install 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-x86_64/gnome-shell.install 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,19 +0,0 @@ -pkgname=gnome-shell - -post_install() { - glib-compile-schemas /usr/share/glib-2.0/schemas -} - -pre_upgrade() { - if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then - gconfpkg --uninstall $pkgname - fi -} - -post_upgrade() { - post_install -} - -post_remove() { - post_install -} Copied: gnome-shell/repos/extra-x86_64/gnome-shell.install (from rev 200768, gnome-shell/trunk/gnome-shell.install) =================================================================== --- extra-x86_64/gnome-shell.install (rev 0) +++ extra-x86_64/gnome-shell.install 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,19 @@ +pkgname=gnome-shell + +post_install() { + glib-compile-schemas /usr/share/glib-2.0/schemas +} + +pre_upgrade() { + if [ -f /usr/share/gconf/schemas/$pkgname.schemas ]; then + gconfpkg --uninstall $pkgname + fi +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} Deleted: extra-x86_64/nm-libexecdir.patch =================================================================== --- extra-x86_64/nm-libexecdir.patch 2013-12-04 20:10:48 UTC (rev 200768) +++ extra-x86_64/nm-libexecdir.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -1,12 +0,0 @@ -diff -u -Nr gnome-shell-3.6.3.1/js/ui/components/networkAgent.js gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js ---- gnome-shell-3.6.3.1/js/ui/components/networkAgent.js 2013-02-20 20:31:03.000000000 +0100 -+++ gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js 2013-03-10 17:13:46.120907065 +0100 -@@ -686,7 +686,7 @@ - } catch(e) { } // ignore errors if key does not exist - let path = binary; - if (!GLib.path_is_absolute(path)) { -- path = GLib.build_filenamev([Config.LIBEXECDIR, path]); -+ path = GLib.build_filenamev(["/usr/lib/networkmanager", path]); - } - - if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE)) Copied: gnome-shell/repos/extra-x86_64/nm-libexecdir.patch (from rev 200768, gnome-shell/trunk/nm-libexecdir.patch) =================================================================== --- extra-x86_64/nm-libexecdir.patch (rev 0) +++ extra-x86_64/nm-libexecdir.patch 2013-12-04 20:10:59 UTC (rev 200769) @@ -0,0 +1,12 @@ +diff -u -Nr gnome-shell-3.6.3.1/js/ui/components/networkAgent.js gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js +--- gnome-shell-3.6.3.1/js/ui/components/networkAgent.js 2013-02-20 20:31:03.000000000 +0100 ++++ gnome-shell-3.6.3.1-nmlibexecdir/js/ui/components/networkAgent.js 2013-03-10 17:13:46.120907065 +0100 +@@ -686,7 +686,7 @@ + } catch(e) { } // ignore errors if key does not exist + let path = binary; + if (!GLib.path_is_absolute(path)) { +- path = GLib.build_filenamev([Config.LIBEXECDIR, path]); ++ path = GLib.build_filenamev(["/usr/lib/networkmanager", path]); + } + + if (GLib.file_test(path, GLib.FileTest.IS_EXECUTABLE))