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]
