Hello community,

here is the log from the commit of package gtk2 for openSUSE:Factory checked in 
at 2015-02-16 21:21:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtk2 (Old)
 and      /work/SRC/openSUSE:Factory/.gtk2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gtk2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/gtk2/gtk2.changes        2014-11-26 
22:56:55.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.gtk2.new/gtk2.changes   2015-02-16 
21:21:23.000000000 +0100
@@ -1,0 +2,10 @@
+Mon Feb  9 22:03:13 UTC 2015 - [email protected]
+
+- Add gtk2-Do-not-leak-a-cairo-region.patch: Fix memory leak
+  (bgo#738837).
+- Add gtk2-gdk_window_begin_paint_region.patch: When using the
+  implicit paint pixmap, always draw to the same surface each time
+  rather than creating a new one each time. This is both more
+  effective and more natural (bgo#741060).
+
+-------------------------------------------------------------------
@@ -11 +21 @@
-- Ad gtk2-allow-deprecated-gdk-pixbuf-API.patch: Allow deprecated
+- Add gtk2-allow-deprecated-gdk-pixbuf-API.patch: Allow deprecated

New:
----
  gtk2-Do-not-leak-a-cairo-region.patch
  gtk2-gdk_window_begin_paint_region.patch

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

Other differences:
------------------
++++++ gtk2.spec ++++++
--- /var/tmp/diff_new_pack.qLC7iv/_old  2015-02-16 21:21:24.000000000 +0100
+++ /var/tmp/diff_new_pack.qLC7iv/_new  2015-02-16 21:21:24.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package gtk2
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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
@@ -45,6 +45,10 @@
 Patch23:        bugzilla-131498-allow-xim-for-all-languages.patch
 # PATCH-FIX-UPSTREAM 
gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff bnc130159 
bgo319483 [email protected] - Load fonts asynchronously in GtkFontSelection 
to make it appear faster for CJK languages
 Patch24:        
gtk2-bnc130159-bgo319483-async-selection-in-gtk-font-selection.diff
+# PATCH-FIX-UPSTREAM gtk2-Do-not-leak-a-cairo-region.patch bgo#738837 
[email protected] -- Do not leak a cairo region, fix memory leak. Taken from 
upstream git.
+Patch25:        gtk2-Do-not-leak-a-cairo-region.patch
+# PATCH-FIX-UPSTREAM gtk2-gdk_window_begin_paint_region.patch bgo#741060 
[email protected] -- gdk_window_begin_paint_region() - always reuse the same 
surface, taken from upstream git.
+Patch26:        gtk2-gdk_window_begin_paint_region.patch 
 # Patches taken from upstream or slated to go upstream.  We can expect these 
to become obsolete
 # in future releases.
 # Please don't delete this comment even if this section is empty -- "# empty" 
should
@@ -333,6 +337,8 @@
 %patch22 -p1
 %patch23 -p1
 %patch24 -p1
+%patch25 -p1
+%patch26 -p1
 %patch53
 %patch55 -p1
 %patch56 -p1

++++++ gtk2-Do-not-leak-a-cairo-region.patch ++++++
>From aff976ef0dad471edc35d65b9d1b5ba97da1698e Mon Sep 17 00:00:00 2001
From: Matthias Clasen <[email protected]>
Date: Mon, 20 Oct 2014 06:17:56 -0400
Subject: Do not leak a cairo region

This memory leak fix was present in GTK+ 3 since 3.10. We forgot
to backport it to GTK+ 2.

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

diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 153144a..386e85d 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -8747,6 +8747,8 @@ do_child_shapes (GdkWindow *window,
     gdk_region_subtract (region, private->shape);
 
   gdk_window_shape_combine_region (window, region, 0, 0);
+
+  cairo_region_destroy (region);
 }
 
 /**
-- 
cgit v0.10.1

++++++ gtk2-gdk_window_begin_paint_region.patch ++++++
>From ad6271eca90e6139acd624209e10931d0dffbd73 Mon Sep 17 00:00:00 2001
From: John Lindgren <[email protected]>
Date: Wed, 3 Dec 2014 10:33:00 +0000
Subject: gdk_window_begin_paint_region() - always reuse the same surface

When using the implicit paint pixmap, always draw to the same surface
(the standard one for the pixmap) each time rather than creating a new
one each time. This is both more effective and more natural.

It also fixes a redraw issue on win32, where using multiple surfaces
on the same HDC sometimes causes issues.  This seems to be due to
leftover state on the HDC from previous surfaces.

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

diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index 386e85d..45fee34 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -2984,15 +2984,10 @@ gdk_window_begin_paint_region (GdkWindow       *window,
 
   if (implicit_paint)
     {
-      int width, height;
-
       paint->uses_implicit = TRUE;
       paint->pixmap = g_object_ref (implicit_paint->pixmap);
       paint->x_offset = -private->abs_x + implicit_paint->x_offset;
       paint->y_offset = -private->abs_y + implicit_paint->y_offset;
-
-      gdk_drawable_get_size (paint->pixmap, &width, &height);
-      paint->surface = _gdk_drawable_create_cairo_surface (paint->pixmap, 
width, height);
     }
   else
     {
@@ -3002,9 +2997,10 @@ gdk_window_begin_paint_region (GdkWindow       *window,
       paint->pixmap =
        gdk_pixmap_new (window,
                        MAX (clip_box.width, 1), MAX (clip_box.height, 1), -1);
-      paint->surface = _gdk_drawable_ref_cairo_surface (paint->pixmap);
     }
 
+  paint->surface = _gdk_drawable_ref_cairo_surface (paint->pixmap);
+
   if (paint->surface)
     cairo_surface_set_device_offset (paint->surface,
                                     -paint->x_offset, -paint->y_offset);
-- 
cgit v0.10.1

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to