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]
