Hello community,

here is the log from the commit of package gnome-shell.2254 for 
openSUSE:13.1:Update checked in at 2013-12-11 16:30:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.1:Update/gnome-shell.2254 (Old)
 and      /work/SRC/openSUSE:13.1:Update/.gnome-shell.2254.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-shell.2254"

Changes:
--------
New Changes file:

--- /dev/null   2013-11-25 01:44:08.036031256 +0100
+++ /work/SRC/openSUSE:13.1:Update/.gnome-shell.2254.new/gnome-shell.changes    
2013-12-11 16:30:45.000000000 +0100
@@ -0,0 +1,3555 @@
+-------------------------------------------------------------------
+Wed Nov 27 20:31:34 UTC 2013 - [email protected]
+
+- Add gnome-shell-hidepassword.patch: authPrompt: propagate gdm
+  "reset" signal after user switching. Fixed GDM showing showing
+  passwords on user switching (bnc#852490, bgo#710456).
+- Add gnome-shell-extensions-disabling.patch: catch more errors on
+  extensions enable() and disable(). Fixes gnome-shell extensions
+  disabled on screen unlock (bnc#852527, bgo#688331, bgo#719378).
+- Add gnome-shell-tray-reentrant.patch: messageTray: Prevent
+  reentrancy issues in _updateState (bgo#711694).
+
+-------------------------------------------------------------------
+Fri Nov 15 13:41:44 UTC 2013 - [email protected]
+
+- Update to version 3.10.2.1 (bnc#849913):
+  + Lower mutter requirement to not end up without wayland support.
+
+-------------------------------------------------------------------
+Thu Nov 14 17:29:34 UTC 2013 - [email protected]
+
+- Update to version 3.10.2 (bnc#849913):
+  + gdm: Don't allow user-list to fill up the entire screen
+    (bgo#710555).
+  + Restore support for 'disable-restart-buttons' (bgo#711244).
+  + Validate parameters of exposed DBus methods (bgo#699752).
+  + Misc. bug fixes: bgo#709806.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Mon Oct 21 16:15:24 UTC 2013 - [email protected]
+
+- Drop gnome-shell-no_clear_hint.patch: we found a better
+  workardound that even results in the loading of the background
+  image. The code is of course not fixed.
+- Create /usr/share/gnome-shell/modes: by this, the erronous code
+  path is not being triggered, likely due to async calls happening
+  in the expected order. It even results in loading the branded
+  background image (and explains why users with gnome-shell-classic
+  installed never saw this).
+
+-------------------------------------------------------------------
+Fri Oct 18 07:22:56 UTC 2013 - [email protected]
+
+- Add gnome-shell-no_clear_hint.patch: Work around refresh issues.
+  This is not the final solution; the wallpaper is often not
+  loaded, but at least it stops the screen from flickering wildly,
+  giving a much less broken experience (bgo#709313, bnc#844891).
+
+-------------------------------------------------------------------
+Wed Oct 16 06:48:54 UTC 2013 - [email protected]
+
+- Update to version 3.10.1:
+  + Make sure lock screen is drawn once before switching user
+    (bgo#708051).
+  + Fix signal strength indicators in network selector
+    (bgo#708442).
+  + Scroll search results when focusing provider icons
+    (bgo#708868).
+  + Add separate hover/active states to page indicators
+    (bgo#708852).
+  + Tweak appearance of user name and avatar (bgo#702309).
+  + Hide "Turn On" in network menu when disabled by hardware
+    (bgo#709635).
+  + Cancel open keyring prompts when the screen is locked
+    (bgo#708910).
+  + Differentiate "Not Connected" and "Off" in network menu
+    (bgo#709043).
+  + Make network settings items point to the right device
+    (bgo#709246).
+  + Remove animation of window preview titles (bgo#709392).
+  + Add 'Notifications' switch to tray menu (bgo#707073).
+  + Make dropdown arrows consistent (bgo#709564).
+  + power: Use icon from primary device for status (bgo#709925).
+  + Fix XDND drags to overview (bgo#708887).
+  + Fix workspace switcher disappearing with too many workspaces
+    (bgo#694881).
+  + Handle search results with 'special:' prefix specially
+    (bgo#707055).
+  + gdm: Support pre-authenticated logins from oVirt (bgo#702162).
+  + Use ARROW role for labels representing arrows (bgo#710120).
+  + Make selected view in app picker persistent (bgo#710042).
+  + Make network selector navigable by keyboard (bgo#710144).
+  + Misc bug fixes: bgo##709034, bgo#709263, bgo#698486,
+    bgo#709286, bgo#709248, bgo#709543, bgo#696564, bgo#703265,
+    bgo#709638, bgo#709866, bgo#709998, bgo#710019, bgo#710104,
+    bgo#710115.
+  + Updated translations.
+- Rebease gnome-shell-private-connection.patch (Gary Lin).
+
+-------------------------------------------------------------------
+Wed Oct  2 03:47:39 UTC 2013 - [email protected]
+
+- Rebase gnome-shell-private-connection.patch (bnc#751211)
+
+-------------------------------------------------------------------
+Tue Sep 24 21:51:33 UTC 2013 - [email protected]
+
+- Update to version 3.10.0.1:
+  + Fix login screen (bgo#708691).
+
+-------------------------------------------------------------------
+Tue Sep 24 07:48:16 UTC 2013 - [email protected]
+
+- Update to version 3.10.0:
+  + Fix fade effect in ScrollViews (bgo#708256).
+  + network: Resync when activating connection changes
+    (bgo#708322).
+  + Close run dialog when the screen locks (bgo#708218).
+  + Fix entry growing out of password dialogs (bgo#708324,
+    bgo#703833).
+  + Vertically center labels in submenu items (bgo#708330).
+  + Fix bluetooth icon not being added to status menu
+    (bgo#708541).
+  + Fix GNOME 2 keyring dialogs appearing on lock screen
+    (bgo#708187).
+  + Fix passwords being cleared twice when authentication fails
+    (bgo#708186).
+  + Fix message tray appearing in a11y popup on login screen
+    (bgo#708380).
+  + Increase width of aggregate menu popup (bgo#708472).
+  + Other bugs fixed: bgo#708387.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Sep 17 06:54:07 UTC 2013 - [email protected]
+
+- Update to version 3.9.92:
+  + Don't show page indicators if there's only one page
+    (bgo#707363).
+  + Make :active style of app and non-app results consistent
+    (bgo#704714).
+  + Fade app pages when scrolled (bgo#707409).
+  + Don't block scrolling on page indicators (bgo#707609).
+  + Tweak visual appearance of folder views (bgo#707662).
+  + Don't put minimized apps at the end of the app switcher
+    (bgo#707663).
+  + Merge the wayland branch (bgo#707467).
+  + Make search entry behave better in RTL locales (bgo#705779).
+  + Allow to change app pages with pageUp/pageDown keys
+    (bgo#707979).
+  + Set approriate a11y states on expandable menu items
+    (bgo#708038).
+  + Improve page indicator animation (bgo#707565).
+  + Misc bug fixes and cleanups: bgo#707308, bgo#707430,
+    bgo#707508, bgo#707557, bgo#707600, bgo#707614, bgo#707666,
+    bgo#707814, bgo#707806, bgo#707801, bgo#707889, bgo#707892,
+    bgo#707935, bgo#707842, bgo#707940, bgo#707996, bgo#708007,
+    bgo#708009, bgo#708020, bgo#707580, bgo#708080.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Sep  3 06:43:08 UTC 2013 - [email protected]
+
+- Update to version 3.9.91:
+  + Improve submenu styling (bgo#706037).
+  + Fix changing slider values via keyboard (bgo#706386).
+  + Fix accessibility of sliders (bgo#706391).
+  + Tweak system actions style (bgo#706638).
+  + Add support for auth without username / fix Not Listed?
+    (bgo#706607).
+  + Dash: Don't show tooltips for apps with open popups
+    (bgo#705611).
+  + Implement new end-session/power-off dialog design (bgo#706612).
+  + Implement building separate binaries for x11 and wayland
+    (bgo#705497).
+  + authPrompt: Fix controls moving when showing messages
+    (bgo#706670).
+  + Tweak padding between system status icons (bgo#706796).
+  + Add a generic accessible usable by JS code (bgo#648623).
+  + Improve keynav and accessibility of the calendar (bgo#706903).
+  + Update to new NetworkManager APIs (bgo#706098).
+  + Hide system actions section in the lock screen (bgo#706852).
+  + Don't show other logged in users at log out (bgo#707124).
+  + Remove "Session" subtitle heading in login dialog (bgo#707072).
+  + dash: Reload favorites when installed apps change (bgo#706878).
+  + Don't open overview after closing last window on workspace
+    (bgo#662581).
+  + Add FocusApp DBus method (bgo#654086).
+  + Add ShowApplications DBus method (bgo#698743).
+  + Implement new app picker design (bgo#706081).
+  + Improve frequent apps being empty by default (bgo#694710).
+  + Extend clickable area of page indicators (bgo#707314).
+  + Misc bug fixes: bgo##706542, bgo#706654, bgo#706005,
+    bgo#706681, bgo#706841, bgo#706843, bgo#707064, bgo#706262,
+    bgo#707197, bgo#707269.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Thu Aug 22 05:53:29 UTC 2013 - [email protected]
+
+- Update to version 3.9.90:
+  + workspaceThumbnails: Exclude transient windows when shifting
+    workspaces (bgo#705174).
+  + Never show a horizontal scrollbar on lock screen (bgo#704327).
+  + authPrompt: Fix disable-user-list / Not Listed? (bgo#705370).
+  + Animate the lock screen notification transitions (bgo#687660).
++++ 3358 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:13.1:Update/.gnome-shell.2254.new/gnome-shell.changes

New:
----
  gnome-shell-3.10.2.1.tar.xz
  gnome-shell-extensions-disabling.patch
  gnome-shell-hidepassword.patch
  gnome-shell-private-connection.patch
  gnome-shell-tray-reentrant.patch
  gnome-shell.changes
  gnome-shell.spec

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-shell.spec ++++++
#
# spec file for package gnome-shell
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           gnome-shell
Version:        3.10.2.1
Release:        0
Summary:        GNOME Shell
License:        GPL-2.0+
Group:          System/GUI/GNOME
Url:            http://live.gnome.org/GnomeShell
Source:         
http://download.gnome.org/sources/gnome-shell/3.10/%{name}-%{version}.tar.xz
# PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 
[email protected] -- create private connections if the user is not authorized
Patch1:         gnome-shell-private-connection.patch
# PATCH-FIX-UPSTREAM gnome-shell-hidepassword.patch bnc#852490 bgo#710456 
[email protected] -- authPrompt: propagate gdm "reset" signal after user 
switching
Patch2:         gnome-shell-hidepassword.patch
# PATCH-FIX-UPSTREAM gnome-shell-extensions-disabling.patch bnc#852527 
bgo#688331 [email protected] -- Fix gnome-shell extensions disabled on 
screen unlock
Patch3:         gnome-shell-extensions-disabling.patch
# PATCH-FIX-UPSTREAM gnome-shell-tray-reentrant.patch bgo#711694 
[email protected] -- messageTray: Prevent reentrancy issues in _updateState
Patch4:         gnome-shell-tray-reentrant.patch
BuildRequires:  docbook-xsl-stylesheets
BuildRequires:  intltool
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  xsltproc
# needed for directory ownership
BuildRequires:  dbus-1
BuildRequires:  pkgconfig(atk-bridge-2.0)
BuildRequires:  pkgconfig(caribou-1.0) >= 0.4.8
BuildRequires:  pkgconfig(clutter-1.0) >= 1.13.4
BuildRequires:  pkgconfig(gcr-base-3) >= 3.7.5
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(gio-2.0) >= 2.37.0
BuildRequires:  pkgconfig(gjs-1.0) >= 1.38.1
BuildRequires:  pkgconfig(gnome-bluetooth-1.0) >= 3.9.0
BuildRequires:  pkgconfig(gnome-desktop-3.0) >= 3.7.90
BuildRequires:  pkgconfig(gnome-keybindings)
BuildRequires:  pkgconfig(gobject-introspection-1.0) >= 0.10.1
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.7.4
BuildRequires:  pkgconfig(gstreamer-1.0) >= 0.11.92
BuildRequires:  pkgconfig(gstreamer-base-1.0)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.3.9
BuildRequires:  pkgconfig(json-glib-1.0) >= 0.13.2
BuildRequires:  pkgconfig(libcanberra)
BuildRequires:  pkgconfig(libcanberra-gtk)
BuildRequires:  pkgconfig(libcroco-0.6) >= 0.6.8
BuildRequires:  pkgconfig(libedataserver-1.2) >= 3.5.3
BuildRequires:  pkgconfig(libgnome-menu-3.0) >= 3.5.3
BuildRequires:  pkgconfig(libmutter) >= 3.10.1
BuildRequires:  pkgconfig(libnm-glib)
BuildRequires:  pkgconfig(libnm-gtk) >= 0.9.8
BuildRequires:  pkgconfig(libnm-util) >= 0.9.8
BuildRequires:  pkgconfig(libpulse) >= 2.0
BuildRequires:  pkgconfig(libpulse-mainloop-glib)
BuildRequires:  pkgconfig(libsecret-unstable)
BuildRequires:  pkgconfig(libsoup-2.4)
BuildRequires:  pkgconfig(libstartup-notification-1.0) >= 0.11
BuildRequires:  pkgconfig(libsystemd-daemon)
BuildRequires:  pkgconfig(libsystemd-login)
BuildRequires:  pkgconfig(mutter-plugins)
BuildRequires:  pkgconfig(polkit-agent-1) >= 0.100
BuildRequires:  pkgconfig(telepathy-glib) >= 0.17.5
BuildRequires:  pkgconfig(telepathy-logger-0.2) >= 0.2.4
BuildRequires:  pkgconfig(xtst)
# The clock / calendar applet in the panel requires e-d-s (bnc#795793).
Requires:       evolution-data-server
Requires:       gdk-pixbuf-loader-rsvg
Requires:       gnome-icon-theme-symbolic
Requires:       gnome-session
# For a GSettings schema and power system icon
Requires:       gnome-settings-daemon
Requires:       gsettings-desktop-schemas
## Finally, dependencies for session services that are needed for system icons 
and the user menu
# bluetooth system icon
Requires:       gnome-bluetooth
# "System settings" menu item
Requires:       gnome-control-center
# "High Contrast" in accessibility status icon
Requires:       gnome-themes-accessibility
# network system icon
Requires:       NetworkManager-gnome
# 11.4 doesn't have typelib dependency
%if 0%{?suse_version} < 1210
Requires:       libaccountsservice0
Requires:       libcaribou0
Requires:       libgdmgreeter1
%endif
Recommends:     %{name}-browser-plugin
Recommends:     %{name}-lang
# Wanda makes use of this.
Recommends:     fortune
# The dateTime applet in the panel launches gnome-clocks upon user request
Recommends:     gnome-clocks
Recommends:     gnome-shell-search-provider-documents
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications, accessing
documents, and organizing open windows in GNOME.

%package devel
Summary:        GNOME Shell -- Development Files
Group:          Development/Libraries/GNOME
Requires:       %{name} = %{version}

%description devel
The GNOME Shell redefines user interactions with the GNOME desktop. In
particular, it offers new paradigms for launching applications, accessing
documents, and organizing open windows in GNOME.

%package browser-plugin
Summary:        GNOME Shell Browser Plugin for the Extensions Repository
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:MozillaFirefox)

%description browser-plugin
The GNOME Shell Browser Plugin provides integration with gnome-shell
and the corresponding extensions repository. The plugin allows the
extensions repository to provide good integration, letting the website
know which extensions are enabled and disabled, and allowing the website
to enable, disable and install them.

%lang_package
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
translation-update-upstream

%build
export BROWSER_PLUGIN_DIR=%{_libdir}/browser-plugins
%configure \
        --disable-static \
        --libexecdir=%{_libexecdir}/%{name} \
        --with-nmlibexecdir=%{_libexecdir} \
        --disable-schemas-install \
        --enable-compile-warnings=no
%__make %{?_smp_mflags} V=1

%install
%makeinstall
find %{buildroot} -type f -name "*.la" -delete -print
# This is the directory where extensions get installed
install -d %{buildroot}%{_datadir}/gnome-shell/extensions
# This is the directory where search providers get installed
install -d %{buildroot}%{_datadir}/gnome-shell/search-providers
%find_lang %{name} %{?no_lang_C}
%suse_update_desktop_file %{name}
%suse_update_desktop_file gnome-shell-extension-prefs
# Work around race, as reported in bnc#844891 & bgo#709313.
install -d %{buildroot}%{_datadir}/gnome-shell/modes

%clean
rm -rf %{buildroot}

%post
%glib2_gsettings_schema_post
%desktop_database_post

%postun
%glib2_gsettings_schema_postun
%desktop_database_postun

%files
%defattr(-,root,root)
%doc COPYING README NEWS
%{_bindir}/gnome-shell
%{_bindir}/gnome-shell-extension-prefs
%{_bindir}/gnome-shell-extension-tool
%{_bindir}/gnome-shell-perf-tool
%{_libexecdir}/gnome-shell/
%if "%{_libdir}" != "%{_libexecdir}"
%{_libdir}/gnome-shell/
%endif
%dir %{_datadir}/GConf
%dir %{_datadir}/GConf/gsettings
%{_datadir}/GConf/gsettings/gnome-shell-overrides.convert
%{_datadir}/applications/evolution-calendar.desktop
%{_datadir}/applications/gnome-shell.desktop
%{_datadir}/applications/gnome-shell-extension-prefs.desktop
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screencast.xml
%{_datadir}/dbus-1/interfaces/org.gnome.Shell.Screenshot.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider.xml
%{_datadir}/dbus-1/interfaces/org.gnome.ShellSearchProvider2.xml
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.xml
%{_datadir}/gnome-control-center/keybindings/50-gnome-shell-system.xml
%{_datadir}/gnome-shell/
%doc %{_mandir}/man?/gnome-shell.*

%files devel
%defattr(-,root,root)
%doc %{_datadir}/gtk-doc/html/st/
%doc %{_datadir}/gtk-doc/html/shell/

%files browser-plugin
%defattr(-,root,root)
%doc browser-plugin/README
%{_libdir}/browser-plugins/libgnome-shell-browser-plugin.*

%files lang -f %{name}.lang

%changelog
++++++ gnome-shell-extensions-disabling.patch ++++++
>From 2c538d247b4bec36ff921ec057572da2487cd9e4 Mon Sep 17 00:00:00 2001
From: Sebastien Lafargue <[email protected]>
Date: Fri, 25 Oct 2013 13:28:11 +0000
Subject: catch more errors on extensions enable() and disable()

https://bugzilla.gnome.org/show_bug.cgi?id=688331
---
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();
 }
--
cgit v0.9.2

>From 621e3d0df8abbf9c74df9f9c0cff3010bba5be82 Mon Sep 17 00:00:00 2001
From: Florian Mü <[email protected]>
Date: Tue, 26 Nov 2013 19:52:24 +0000
Subject: loginDialog: Implement cancel()

The screen shield expects a cancel() method on the unlockDialog
implementation, but LoginDialog does not provide it currently.

https://bugzilla.gnome.org/show_bug.cgi?id=719378
---
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);
     },
--
cgit v0.9.2

++++++ gnome-shell-hidepassword.patch ++++++
>From b2f547e93452cb2d406263cd9bb8743760c28683 Mon Sep 17 00:00:00 2001
From: Ray Strode <[email protected]>
Date: Mon, 25 Nov 2013 22:30:53 -0500
Subject: [PATCH] authPrompt: propagate gdm "reset" signal after user switching

After a user types in their password at the login screen, one
of two things can happen

1) a new session is started
2) an existing session is switched to

In the latter case, GDM sends a reset signal to the login screen,
so it knows to go back to the user list and wait to be summoned
again.

Unfortunately, all reset signals are ignored after verification
success.  The reason is because the reset handler was copied from
the unlock dialog as part of a deduplication effort in commit
7e7295f259febf34c89659a9bcb05f9924fa1976 and the unlock dialog
handler at the time also emitted a "failed" signal on reset
(which wouldn't make sense to emit after success).

These days "failed" is handled in a different way.

This commit changes the code to let reset signals through after
successful verification.

https://bugzilla.gnome.org/show_bug.cgi?id=710456
---
 js/gdm/authPrompt.js | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

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
@@ -246,44 +246,42 @@ const AuthPrompt = new Lang.Class({
 
     _onShowMessage: function(userVerifier, message, type) {
         this.setMessage(message, type);
         this.emit('prompted');
     },
 
     _onVerificationFailed: function() {
         this._queryingService = null;
         this.clear();
 
         this.updateSensitivity(true);
         this.setActorInDefaultButtonWell(null);
         this.verificationStatus = AuthPromptStatus.VERIFICATION_FAILED;
     },
 
     _onVerificationComplete: function() {
         this.verificationStatus = AuthPromptStatus.VERIFICATION_SUCCEEDED;
     },
 
     _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) {
         this._defaultButtonWell.add_child(actor);
     },
 
     setActorInDefaultButtonWell: function(actor, animate) {
         if (!this._defaultButtonWellActor &&
             !actor)
             return;
 
         let oldActor = this._defaultButtonWellActor;
 
         if (oldActor)
             Tweener.removeTweens(oldActor);
 
         let isSpinner;
         if (actor == this._spinner.actor)
             isSpinner = true;
         else
-- 
1.8.3.1
++++++ gnome-shell-private-connection.patch ++++++
>From f9a23ba5908fb93d25ef702510ea182c220db8aa Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <[email protected]>
Date: Thu, 31 Mar 2011 15:56:13 +0200
Subject: [PATCH] NetworkMenu: create private connections if the user is not
 authorized

Check polkit setting at startup and add, if needed, the "permissions"
setting to the connections we create, so that polkit authentication is
never needed. The connection is thus only available to other users
if the system administrator decides so.

https://bugzilla.gnome.org/show_bug.cgi?id=646187
---
 js/ui/status/network.js | 38 +++++++++++++++++++++++++++++++++-----
 1 file changed, 33 insertions(+), 5 deletions(-)

diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index 0ff2037..7deb7f4 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -7,6 +7,7 @@ const Gtk = imports.gi.Gtk;
 const Lang = imports.lang;
 const NetworkManager = imports.gi.NetworkManager;
 const NMClient = imports.gi.NMClient;
+const Polkit = imports.gi.Polkit;
 const NMGtk = imports.gi.NMGtk;
 const Signals = imports.signals;
 const St = imports.gi.St;
@@ -506,10 +507,12 @@ const NMDeviceBluetooth = new Lang.Class({
     Extends: NMConnectionDevice,
     category: NMConnectionCategory.WWAN,
 
-    _init: function(client, device, settings) {
+
+    _init: function(client, device, settings, privateConnections) {
         this.parent(client, device, settings);
 
         this.item.menu.addMenuItem(createSettingsAction(_("Mobile Broadband 
Settings"), device));
+        this._privateConnections = privateConnections;
     },
 
     _autoConnect: function() {
@@ -520,6 +523,11 @@ const NMDeviceBluetooth = new Lang.Class({
         // that this phone supports PAN
 
         let connection = new NetworkManager.Connection();
+        if (this._privateConnections) {
+            let connectionSetting = new NetworkManager.SettingConnection();
+            connectionSetting.add_permission('user', GLib.get_user_name(), 
null);
+            connection.add_setting(connectionSetting);
+        }
         this._client.add_and_activate_connection(connection, this._device, 
null, null);
         return true;
     },
@@ -624,11 +632,12 @@ const NMWirelessDialog = new Lang.Class({
     Name: 'NMWirelessDialog',
     Extends: ModalDialog.ModalDialog,
 
-    _init: function(client, device, settings) {
+    _init: function(client, device, settings, privateConnections) {
         this.parent({ styleClass: 'nm-dialog' });
 
         this._client = client;
         this._device = device;
+       this._privateConnections = privateConnections;
 
         this._networks = [];
         this._buildLayout();
@@ -766,6 +775,11 @@ const NMWirelessDialog = new Lang.Class({
                             this._device.get_path(), 
accessPoints[0].dbus_path]);
             } else {
                 let connection = new NetworkManager.Connection();
+                if (this._privateConnections) {
+                    let connectionSetting = new 
NetworkManager.SettingConnection();
+                    connectionSetting.add_permission('user', 
GLib.get_user_name(), null);
+                    connection.add_setting(connectionSetting);
+                }
                 this._client.add_and_activate_connection(connection, 
this._device, accessPoints[0].dbus_path, null)
             }
         }
@@ -994,10 +1008,11 @@ const NMDeviceWireless = new Lang.Class({
     Name: 'NMDeviceWireless',
     category: NMConnectionCategory.WIRELESS,
 
-    _init: function(client, device, settings) {
+    _init: function(client, device, settings, privateConnections) {
         this._client = client;
         this._device = device;
         this._settings = settings;
+        this._privateConnections = privateConnections;
 
         this._description = '';
 
@@ -1065,7 +1080,7 @@ const NMDeviceWireless = new Lang.Class({
     },
 
     _showDialog: function() {
-        this._dialog = new NMWirelessDialog(this._client, this._device, 
this._settings);
+        this._dialog = new NMWirelessDialog(this._client, this._device, 
this._settings, this._privateConnections);
         this._dialog.connect('closed', Lang.bind(this, this._dialogClosed));
         this._dialog.open();
     },
@@ -1326,6 +1341,19 @@ const NMApplet = new Lang.Class({
         if (!this._client || !this._settings)
             return;
 
+        // Check if newly created connections should be private or not
+        this._privateConnections = true;
+        let authority = Polkit.Authority.get_sync(null);
+        let credential = new Gio.Credentials();
+        let subject = new Polkit.UnixProcess({ pid: credential.get_unix_pid(), 
uid: credential.get_unix_user() });
+        let authResult = authority.check_authorization_sync(subject,
+                                                            
'org.freedesktop.NetworkManager.settings.modify.system',
+                                                            null /* details */,
+                                                            
Polkit.CheckAuthorizationFlags.NONE,
+                                                            null /* 
cancellable */);
+        if (authResult)
+            this._privateConnections = !authResult.get_is_authorized();
+
         this._activeConnections = [ ];
         this._connections = [ ];
 
@@ -1441,7 +1469,7 @@ const NMApplet = new Lang.Class({
 
         let wrapperClass = this._dtypes[device.get_device_type()];
         if (wrapperClass) {
-            let wrapper = new wrapperClass(this._client, device, 
this._settings);
+            let wrapper = new wrapperClass(this._client, device, 
this._settings, this._privateConnections);
             device._delegate = wrapper;
             this._addDeviceWrapper(wrapper);
 
-- 
1.8.1.4

++++++ gnome-shell-tray-reentrant.patch ++++++
>From 43f67399a3964d5204021f1571bf918d2ffe9f89 Mon Sep 17 00:00:00 2001
From: Jasper St. Pierre <[email protected]>
Date: Fri, 15 Nov 2013 15:34:04 +0000
Subject: messageTray: Prevent reentrancy issues in _updateState

The methods we call in _updateState may not be reentrant, so make
sure that we never get into a situation where _updateState, through
some crazy chain of events, calls itself.

https://bugzilla.gnome.org/show_bug.cgi?id=711694
---
diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js
index c66c9f6..7a8403c 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) {
--
cgit v0.9.2

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to