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-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-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..fdeb2e8 100644 --- a/gnome-shell.changes +++ b/gnome-shell.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +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 + +- 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 + +- 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..873f8b2 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,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-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 +# 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 @@ -69,8 +69,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