From c644d1481ab6db9f6dcb388de4236b6ce0d7e0a3b36564c0e3f50f6fbb3bdb18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Wed, 29 Jun 2016 09:48:58 +0000 Subject: [PATCH 1/3] Accepting request 405436 from GNOME:Next 1 OBS-URL: https://build.opensuse.org/request/show/405436 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=262 --- gnome-shell-3.20.2.tar.xz | 3 - gnome-shell-3.20.3.tar.xz | 3 + gnome-shell-cogl-nvidia-fixes.patch | 120 ---------------------------- gnome-shell.changes | 15 ++++ gnome-shell.spec | 5 +- 5 files changed, 19 insertions(+), 127 deletions(-) delete mode 100644 gnome-shell-3.20.2.tar.xz create mode 100644 gnome-shell-3.20.3.tar.xz delete mode 100644 gnome-shell-cogl-nvidia-fixes.patch diff --git a/gnome-shell-3.20.2.tar.xz b/gnome-shell-3.20.2.tar.xz deleted file mode 100644 index 65262cc..0000000 --- a/gnome-shell-3.20.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:eaff6b177cc5bab16b252c45393a6c9305ad3837a288e738388c7b4d4bae13cd -size 1607440 diff --git a/gnome-shell-3.20.3.tar.xz b/gnome-shell-3.20.3.tar.xz new file mode 100644 index 0000000..7d31b40 --- /dev/null +++ b/gnome-shell-3.20.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b23fd558623bfdc726066be3f47bb5fb8ed9c0ad980a95d6afc6397b6d41171e +size 1607512 diff --git a/gnome-shell-cogl-nvidia-fixes.patch b/gnome-shell-cogl-nvidia-fixes.patch deleted file mode 100644 index c50ba99..0000000 --- a/gnome-shell-cogl-nvidia-fixes.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 5226d8b0864fa894f180b8584e837aaf565578b2 Mon Sep 17 00:00:00 2001 -From: Martin Szulecki -Date: Tue, 17 May 2016 15:00:04 +0200 -Subject: [PATCH] st: Init framebuffer early to fix gnome-shell crash on NVIDIA - drivers - -Checking offscreen for COGL_INVALID_HANDLE is not sufficient, -as cogl_offscreen_new_with_texture doesn't initialize framebuffer -objects but lets Cogl solve this the lazy way. -cogl_offscreen_new_with_texture will never return COGL_INVALID_HANDLE -anyways. - -https://bugzilla.gnome.org/show_bug.cgi?id=764898 ---- - src/st/st-theme-node-drawing.c | 18 ++++++++++++------ - src/st/st-theme-node-transition.c | 25 ++++++++++++++++++++----- - 2 files changed, 32 insertions(+), 11 deletions(-) - -diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c -index 85feb20..8942966 100644 ---- a/src/st/st-theme-node-drawing.c -+++ b/src/st/st-theme-node-drawing.c -@@ -2224,6 +2224,7 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state) - int max_borders[4]; - int center_radius, corner_id; - CoglHandle buffer, offscreen = COGL_INVALID_HANDLE; -+ CoglError *error = NULL; - - /* Get infos from the node */ - if (state->alloc_width < node->box_shadow_min_width || -@@ -2264,10 +2265,12 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state) - state->box_shadow_height, - COGL_TEXTURE_NO_SLICING, - COGL_PIXEL_FORMAT_ANY); -- if (buffer != COGL_INVALID_HANDLE) -- offscreen = cogl_offscreen_new_with_texture (buffer); -+ if (buffer == NULL) -+ return; - -- if (offscreen != COGL_INVALID_HANDLE) -+ offscreen = cogl_offscreen_new_with_texture (buffer); -+ -+ if (cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error)) - { - ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height}; - -@@ -2277,14 +2280,17 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state) - cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0); - - st_theme_node_paint_borders (state, offscreen, &box, 0xFF); -- cogl_handle_unref (offscreen); - - state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node), - buffer); - } -+ else -+ { -+ cogl_error_free (error); -+ } - -- if (buffer != COGL_INVALID_HANDLE) -- cogl_handle_unref (buffer); -+ cogl_handle_unref (offscreen); -+ cogl_handle_unref (buffer); - } - - static void -diff --git a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c -index 1eef17b..afde977 100644 ---- a/src/st/st-theme-node-transition.c -+++ b/src/st/st-theme-node-transition.c -@@ -241,6 +241,7 @@ setup_framebuffers (StThemeNodeTransition *transition, - { - StThemeNodeTransitionPrivate *priv = transition->priv; - guint width, height; -+ CoglError *catch_error = NULL; - - /* template material to avoid unnecessary shader compilation */ - static CoglHandle material_template = COGL_INVALID_HANDLE; -@@ -263,19 +264,33 @@ setup_framebuffers (StThemeNodeTransition *transition, - COGL_TEXTURE_NO_SLICING, - COGL_PIXEL_FORMAT_ANY); - -- g_return_val_if_fail (priv->old_texture != COGL_INVALID_HANDLE, FALSE); -- g_return_val_if_fail (priv->new_texture != COGL_INVALID_HANDLE, FALSE); -+ if (priv->old_texture == COGL_INVALID_HANDLE) -+ return FALSE; -+ -+ if (priv->new_texture == COGL_INVALID_HANDLE) -+ return FALSE; - - if (priv->old_offscreen) - cogl_handle_unref (priv->old_offscreen); - priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture); -+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->old_offscreen), &catch_error)) -+ { -+ cogl_object_unref (priv->old_offscreen); -+ cogl_error_free (catch_error); -+ priv->old_offscreen = COGL_INVALID_HANDLE; -+ return FALSE; -+ } - - if (priv->new_offscreen) - cogl_handle_unref (priv->new_offscreen); - priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture); -- -- g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE); -- g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE); -+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->new_offscreen), &catch_error)) -+ { -+ cogl_object_unref (priv->new_offscreen); -+ cogl_error_free (catch_error); -+ priv->new_offscreen = COGL_INVALID_HANDLE; -+ return FALSE; -+ } - - if (priv->material == NULL) - { --- -2.8.2 diff --git a/gnome-shell.changes b/gnome-shell.changes index 6ab8140..7a8251c 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Jun 29 09:22:11 UTC 2016 - zaitor@opensuse.org + +- Update to version 3.20.3: + + Fix sorting of hidden apps in app switcher (bgo#766238). + + Allocate framebuffers early to fix a crash on NVIDIA + (bgo#764898). + + Fix cycle-windows/cycle-group keybindings (bgo#730739). + + networkAgent: Handle VPN service aliases (bgo#658484). + + Fix crash when using screen recorder under wayland + (bgo#767001). + + Plug a memory leak (bgo#710230). + + Updated translations. +- Drop gnome-shell-cogl-nvidia-fixes.patch: Fixed upstream. + ------------------------------------------------------------------- Wed May 11 08:29:31 UTC 2016 - zaitor@opensuse.org diff --git a/gnome-shell.spec b/gnome-shell.spec index 02b0242..b4bd280 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -17,7 +17,7 @@ Name: gnome-shell -Version: 3.20.2 +Version: 3.20.3 Release: 0 Summary: GNOME Shell License: GPL-2.0+ @@ -26,8 +26,6 @@ Url: http://live.gnome.org/GnomeShell Source: http://download.gnome.org/sources/gnome-shell/3.20/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized Patch1: gnome-shell-private-connection.patch -# PATCH-FIX-UPSTREAM gnome-shell-cogl-nvidia-fixes.patch boo#976871 bgo#764898 zaitor@opensuse.org -- Init framebuffer early to fix gnome-shell crash on NVIDIA drivers -Patch2: gnome-shell-cogl-nvidia-fixes.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ BuildRequires: intltool @@ -150,7 +148,6 @@ into GNOME Shell calendar. %prep %setup -q %patch1 -p1 -%patch2 -p1 %if !0%{?is_opensuse} translation-update-upstream %endif From 93f5c870f011a80e8e8f4326762bfbdc3353e751445729b9f50a9298b6514989 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Fri, 8 Jul 2016 15:47:10 +0000 Subject: [PATCH 2/3] Accepting request 407008 from home:fbui:branches:GNOME:Factory - Remove pkgconfig(libsystemd-*). Nowadays pkgconfig(libsystemd) OBS-URL: https://build.opensuse.org/request/show/407008 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=263 --- gnome-shell.changes | 6 ++++++ gnome-shell.spec | 2 -- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gnome-shell.changes b/gnome-shell.changes index 7a8251c..b23f01c 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jul 6 06:44:58 UTC 2016 - fbui@suse.com + +- Remove pkgconfig(libsystemd-*). Nowadays pkgconfig(libsystemd) + is enough and replaces all libsystemd-* libs which are obsolete. + ------------------------------------------------------------------- Wed Jun 29 09:22:11 UTC 2016 - zaitor@opensuse.org diff --git a/gnome-shell.spec b/gnome-shell.spec index b4bd280..8dc99f9 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -67,8 +67,6 @@ BuildRequires: pkgconfig(libsecret-unstable) BuildRequires: pkgconfig(libsoup-2.4) BuildRequires: pkgconfig(libstartup-notification-1.0) >= 0.11 BuildRequires: pkgconfig(libsystemd) -BuildRequires: pkgconfig(libsystemd-daemon) -BuildRequires: pkgconfig(libsystemd-login) BuildRequires: pkgconfig(polkit-agent-1) >= 0.100 BuildRequires: pkgconfig(telepathy-glib) >= 0.17.5 BuildRequires: pkgconfig(telepathy-logger-0.2) >= 0.2.4 From c96241be6a827bc872400a7bc89377406d15996a189bc7763e663162861be42f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Sun, 10 Jul 2016 01:16:18 +0000 Subject: [PATCH 3/3] Accepting request 407313 from home:Zaitor Rebase previous sub OBS-URL: https://build.opensuse.org/request/show/407313 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=264 --- ...shell-background-free-MetaBackground.patch | 38 +++++++++++++++++++ gnome-shell.changes | 7 ++++ gnome-shell.spec | 3 ++ 3 files changed, 48 insertions(+) create mode 100644 gnome-shell-background-free-MetaBackground.patch diff --git a/gnome-shell-background-free-MetaBackground.patch b/gnome-shell-background-free-MetaBackground.patch new file mode 100644 index 0000000..34d4be9 --- /dev/null +++ b/gnome-shell-background-free-MetaBackground.patch @@ -0,0 +1,38 @@ +From 71c26cc7ce8da0c1aec7ff98604f479e7e9ef675 Mon Sep 17 00:00:00 2001 +From: Hyungwon Hwang +Date: Fri, 10 Jun 2016 19:34:48 +0900 +Subject: background: free MetaBackground explicitly when its + MetaBackgroundActor is destroyed + +The memory which MetaBackground resides is freed automatically, when its +wrapper object Background is freed by garbage collection. But because the +memory for MetaBackground is huge, changing the background or changing the +background mode repeatedly makes a lot of memory to be in use until garbage +collection runs. + +This patch frees the MetaBackground object explicitly when its +MetaBackgroundActor is destroyed which is the moment that the memory in the +object is not used anymore. + +https://bugzilla.gnome.org/show_bug.cgi?id=766353 + +Signed-off-by: Hyungwon Hwang +--- + js/ui/background.js | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/ui/background.js b/js/ui/background.js +index 5db1e6c..762c76c 100644 +--- a/js/ui/background.js ++++ b/js/ui/background.js +@@ -696,6 +696,7 @@ const BackgroundManager = new Lang.Class({ + time: FADE_ANIMATION_TIME, + transition: 'easeOutQuad', + onComplete: function() { ++ oldBackgroundActor.background.run_dispose(); + oldBackgroundActor.destroy(); + } + }); +-- +cgit v0.12 + diff --git a/gnome-shell.changes b/gnome-shell.changes index b23f01c..fdeb2e8 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Jul 8 11:26:00 UTC 2016 - zaitor@opensuse.org + +- Add gnome-shell-background-free-MetaBackground.patch: Free + MetaBackground explicitly when its MetaBackgroundActor is + destroyed (bgo#766353). + ------------------------------------------------------------------- Wed Jul 6 06:44:58 UTC 2016 - fbui@suse.com diff --git a/gnome-shell.spec b/gnome-shell.spec index 8dc99f9..873f8b2 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -26,6 +26,8 @@ Url: http://live.gnome.org/GnomeShell Source: http://download.gnome.org/sources/gnome-shell/3.20/%{name}-%{version}.tar.xz # PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized Patch1: gnome-shell-private-connection.patch +# PATCH-FIX-UPSTREAM gnome-shell-background-free-MetaBackground.patch bgo#766353 zaitor@opensuse.org -- Free MetaBackground explicitly when its MetaBackgroundActor is destroyed +Patch2: gnome-shell-background-free-MetaBackground.patch BuildRequires: docbook-xsl-stylesheets BuildRequires: gcc-c++ BuildRequires: intltool @@ -146,6 +148,7 @@ into GNOME Shell calendar. %prep %setup -q %patch1 -p1 +%patch2 -p1 %if !0%{?is_opensuse} translation-update-upstream %endif