diff --git a/gnome-shell-Fix-double-unref.patch b/gnome-shell-Fix-double-unref.patch new file mode 100644 index 0000000..f6e2923 --- /dev/null +++ b/gnome-shell-Fix-double-unref.patch @@ -0,0 +1,32 @@ +From 021cecbce289f1d9c68a156d5b8dd204a73bc715 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau +Date: Sun, 20 Dec 2015 20:51:52 +0100 +Subject: NetworkAgent: Fix double-unref in get_secrets_keyring_cb() + +In get_secrets_keyring_cb, we own a ref on the 'attributes' hash table +from secret_item_get_attributes), and a ref on the 'secret' object (from +secret_item_get_secret(), but in the SHELL_KEYRING_SK_TAG case, we unref +these once before breaking out of the loop, and the second time after +breaking out of the loop. + +https://bugzilla.gnome.org/show_bug.cgi?id=759708 +--- + src/shell-network-agent.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c +index 5d99167..da0f7e5 100644 +--- a/src/shell-network-agent.c ++++ b/src/shell-network-agent.c +@@ -314,8 +314,6 @@ get_secrets_keyring_cb (GObject *source, + + secrets_found = TRUE; + +- g_hash_table_unref (attributes); +- secret_value_unref (secret); + break; + } + } +-- +cgit v0.12 + diff --git a/gnome-shell-authprompt-bypass-disabled.patch b/gnome-shell-authprompt-bypass-disabled.patch new file mode 100644 index 0000000..23dba90 --- /dev/null +++ b/gnome-shell-authprompt-bypass-disabled.patch @@ -0,0 +1,35 @@ +From f5d9d188a72e91ab40023dbbca6820a52a8262f6 Mon Sep 17 00:00:00 2001 +From: Michael Catanzaro +Date: Thu, 7 Jan 2016 16:03:41 -0600 +Subject: authPrompt: Do not allow bypassing disabled Sign In button + +The Next and Sign In buttons are disabled when the username/password +field is empty. However, the user can still bypass this button by +pressing the enter key, leading to some odd glitches with the log in +for 'Not Listed?' users. + +This is easy to fix by simply not progressing to the next screen when +the button is disabled. + +https://bugzilla.gnome.org/show_bug.cgi?id=746180 +--- + js/gdm/authPrompt.js | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/js/gdm/authPrompt.js b/js/gdm/authPrompt.js +index 88ed2a6..50c66fd 100644 +--- a/js/gdm/authPrompt.js ++++ b/js/gdm/authPrompt.js +@@ -189,7 +189,8 @@ const AuthPrompt = new Lang.Class({ + this._updateNextButtonSensitivity(this._entry.text.length > 0); + })); + this._entry.clutter_text.connect('activate', Lang.bind(this, function() { +- this.emit('next'); ++ if (this.nextButton.reactive) ++ this.emit('next'); + })); + }, + +-- +cgit v0.11.2 + diff --git a/gnome-shell-correctly-ident-VPN-secret-req.patch b/gnome-shell-correctly-ident-VPN-secret-req.patch new file mode 100644 index 0000000..86d3e5d --- /dev/null +++ b/gnome-shell-correctly-ident-VPN-secret-req.patch @@ -0,0 +1,63 @@ +From 4562a431ad976a3e0df38889d48bb7898f91c672 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Tue, 26 Jan 2016 17:31:34 +0100 +Subject: NetworkAgent: correctly identify the VPN secret requests + +The non-interactive requests for 'vpn' settings are forwarded to the UI because +it is able to talk to the auth helpers. However, the VPN requests are identified +by the connection type instead of setting type. That is incorrect and the UI +is not prepared to handle such requests; tries to construct a dialog and fails +miserably: + + Gjs-Message: JS LOG: Invalid connection type: vpn + + (gnome-shell:13133): Gjs-WARNING **: JS ERROR: Error: No property 'text' in property list (or its value was undefined) + NetworkSecretDialog<._init@resource:///org/gnome/shell/ui/components/networkAgent.js:60 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + _Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110 + Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/lang.js:204 + NetworkAgent<._handleRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:724 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + NetworkAgent<._newRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:715 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + +https://bugzilla.gnome.org/show_bug.cgi?id=760999 +--- + src/shell-network-agent.c | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c +index c6f4b79..8e8c548 100644 +--- a/src/shell-network-agent.c ++++ b/src/shell-network-agent.c +@@ -366,8 +366,6 @@ shell_network_agent_get_secrets (NMSecretAgent *agent, + { + ShellNetworkAgent *self = SHELL_NETWORK_AGENT (agent); + ShellAgentRequest *request; +- NMSettingConnection *setting_connection; +- const char *connection_type; + GHashTable *attributes; + char *request_id; + +@@ -381,9 +379,6 @@ shell_network_agent_get_secrets (NMSecretAgent *agent, + shell_agent_request_cancel (request); + } + +- setting_connection = nm_connection_get_setting_connection (connection); +- connection_type = nm_setting_connection_get_connection_type (setting_connection); +- + request = g_slice_new (ShellAgentRequest); + request->self = g_object_ref (self); + request->cancellable = g_cancellable_new (); +@@ -393,7 +388,7 @@ shell_network_agent_get_secrets (NMSecretAgent *agent, + request->flags = flags; + request->callback = callback; + request->callback_data = callback_data; +- request->is_vpn = !strcmp(connection_type, NM_SETTING_VPN_SETTING_NAME); ++ request->is_vpn = !strcmp(setting_name, NM_SETTING_VPN_SETTING_NAME); + request->entries = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, gvalue_destroy_notify); + + if (request->is_vpn) +-- +cgit v0.11.2 + diff --git a/gnome-shell.changes b/gnome-shell.changes index 54e69c9..5149a97 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Feb 1 13:28:18 UTC 2016 - zaitor@opensuse.org + +- Add gnome-shell-Fix-double-unref.patch: NetworkAgent: Fix + double-unref in get_secrets_keyring_cb() (bgo#759708). +- Add gnome-shell-correctly-ident-VPN-secret-req.patch: + NetworkAgent: correctly identify the VPN secret requests. + (bgo#760999). +- Add gnome-shell-authprompt-bypass-disabled.patch: Do not allow + bypassing disabled Sign In button (bgo#746180). + ------------------------------------------------------------------- Tue Dec 29 11:31:44 UTC 2015 - zaitor@opensuse.org diff --git a/gnome-shell.spec b/gnome-shell.spec index 16d83c4..93582d6 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,7 +1,7 @@ # # spec file for package gnome-shell # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -30,6 +30,12 @@ Patch1: gnome-shell-private-connection.patch Patch2: gnome-shell-logindialog-fixes.patch # PATCH-FIX-UPSTREAM gnome-shell-alt-tab-hdpi-fixes.patch zaitor@opensuse.org -- Fix tiny previews in alt-tab when using hidpi screens. Patch3: gnome-shell-alt-tab-hdpi-fixes.patch +# PATCH-FIX-UPSTREAM gnome-shell-authprompt-bypass-disabled.patch bgo#746180 zaitor@opensuse.org -- Do not allow bypassing disabled Sign In button +Patch4: gnome-shell-authprompt-bypass-disabled.patch +# PATCH-FIX-UPSTREAM gnome-shell-correctly-ident-VPN-secret-req.patch bgo#760999 zaitor@opensuse.org -- NetworkAgent: correctly identify the VPN secret requests. +Patch5: gnome-shell-correctly-ident-VPN-secret-req.patch +# PATCH-FIX-UPSTREAM gnome-shell-Fix-double-unref.patch bgo#760924 zaitor@opensuse.org -- NetworkAgent: Fix double-unref in get_secrets_keyring_cb() +Patch6: gnome-shell-Fix-double-unref.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ BuildRequires: intltool @@ -158,6 +164,9 @@ into GNOME Shell calendar. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 translation-update-upstream %build