Hello community,

here is the log from the commit of package gnome-shell for openSUSE:Factory 
checked in at 2016-04-07 13:36:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-shell.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-shell"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-shell/gnome-shell.changes  2016-03-29 
14:45:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gnome-shell.new/gnome-shell.changes     
2016-04-07 13:36:21.000000000 +0200
@@ -1,0 +2,6 @@
+Thu Mar 31 13:07:40 UTC 2016 - zai...@opensuse.org
+
+- Add gnome-shell-Fix-offscreen-leak.patch: Fix offscreen leak if
+  cogl_framebuffer_allocate fails (bgo#735705).
+
+-------------------------------------------------------------------

New:
----
  gnome-shell-Fix-offscreen-leak.patch

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

Other differences:
------------------
++++++ gnome-shell.spec ++++++
--- /var/tmp/diff_new_pack.LJlSuK/_old  2016-04-07 13:36:22.000000000 +0200
+++ /var/tmp/diff_new_pack.LJlSuK/_new  2016-04-07 13:36:22.000000000 +0200
@@ -26,6 +26,8 @@
 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 dims...@opensuse.org -- create private connections if the user is 
not authorized
 Patch1:         gnome-shell-private-connection.patch
+# PATCH-FIX-UPSTREAM gnome-shell-Fix-offscreen-leak.patch bgo#735705 
zai...@opensuse.org -- Fix offscreen leak if cogl_framebuffer_allocate fails
+Patch2:         gnome-shell-Fix-offscreen-leak.patch
 BuildRequires:  docbook-xsl-stylesheets
 BuildRequires:  gcc-c++
 BuildRequires:  intltool
@@ -146,6 +148,7 @@
 %prep
 %setup -q
 %patch1 -p1
+%patch2 -p1
 translation-update-upstream
 
 %build

++++++ gnome-shell-Fix-offscreen-leak.patch ++++++
>From 4a8b9d62c98539972cf553fa8101567ce37d73c4 Mon Sep 17 00:00:00 2001
From: Aaron Plattner <aplatt...@nvidia.com>
Date: Fri, 18 Mar 2016 16:00:05 -0700
Subject: [PATCH] st: Fix offscreen leak if cogl_framebuffer_allocate fails
X-NVConfidentiality: public

If cogl_framebuffer_allocate fails in _st_create_shadow_pipeline_from_actor, the
CoglOffscreen* that was allocated earlier in the function is leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=735705

Signed-off-by: Aaron Plattner <aplatt...@nvidia.com>
---
 src/st/st-private.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/st/st-private.c b/src/st/st-private.c
index 559336c42d15..d40eceb86c78 100644
--- a/src/st/st-private.c
+++ b/src/st/st-private.c
@@ -425,40 +425,41 @@ _st_create_shadow_pipeline_from_actor (StShadow     
*shadow_spec,
       clutter_actor_get_allocation_box (actor, &box);
       clutter_actor_box_get_size (&box, &width, &height);
 
       if (width == 0 || height == 0)
         return NULL;
 
       buffer = cogl_texture_new_with_size (width,
                                            height,
                                            COGL_TEXTURE_NO_SLICING,
                                            COGL_PIXEL_FORMAT_ANY);
 
       if (buffer == NULL)
         return NULL;
 
       offscreen = cogl_offscreen_new_with_texture (buffer);
       fb = COGL_FRAMEBUFFER (offscreen);
 
       if (!cogl_framebuffer_allocate (fb, &catch_error))
         {
           cogl_error_free (catch_error);
+          cogl_object_unref (offscreen);
           cogl_object_unref (buffer);
           return NULL;
         }
 
       cogl_color_init_from_4ub (&clear_color, 0, 0, 0, 0);
 
       /* XXX: There's no way to render a ClutterActor to an offscreen
        * as it uses the implicit API. */
       G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
       cogl_push_framebuffer (fb);
       G_GNUC_END_IGNORE_DEPRECATIONS;
 
       cogl_framebuffer_clear (fb, COGL_BUFFER_BIT_COLOR, &clear_color);
       cogl_framebuffer_translate (fb, -box.x1, -box.y1, 0);
       cogl_framebuffer_orthographic (fb, 0, 0, width, height, 0, 1.0);
 
       clutter_actor_set_opacity_override (actor, 255);
       clutter_actor_paint (actor);
       clutter_actor_set_opacity_override (actor, -1);
 
-- 
2.7.4



Reply via email to