Gentoo Archives: gentoo-commits

From: Alexandre Restovtsev <tetromino@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gnome:gnome-next commit in: x11-wm/mutter/, x11-wm/mutter/files/
Date: Sat, 01 Oct 2011 02:10:17
Message-Id: e3bd732c34f8464f194f7300bab32240d3b14a6b.tetromino@gentoo
1 commit: e3bd732c34f8464f194f7300bab32240d3b14a6b
2 Author: Alexandre Rostovtsev <tetromino <AT> gmail <DOT> com>
3 AuthorDate: Sat Oct 1 00:20:45 2011 +0000
4 Commit: Alexandre Restovtsev <tetromino <AT> gmail <DOT> com>
5 CommitDate: Sat Oct 1 00:23:12 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gnome.git;a=commit;h=e3bd732c
7
8 x11-wm/mutter: plug memory leak
9
10 ---
11 ...tter-3.2.0-clutter_actor_get_effects-leak.patch | 38 ++++++++++++++++++++
12 ...{mutter-3.2.0.ebuild => mutter-3.2.0-r1.ebuild} | 8 ++++-
13 2 files changed, 45 insertions(+), 1 deletions(-)
14
15 diff --git a/x11-wm/mutter/files/mutter-3.2.0-clutter_actor_get_effects-leak.patch b/x11-wm/mutter/files/mutter-3.2.0-clutter_actor_get_effects-leak.patch
16 new file mode 100644
17 index 0000000..e269c5b
18 --- /dev/null
19 +++ b/x11-wm/mutter/files/mutter-3.2.0-clutter_actor_get_effects-leak.patch
20 @@ -0,0 +1,38 @@
21 +From 1b4dce6f843d50fbc9b0fa8f86527788fb0c29d7 Mon Sep 17 00:00:00 2001
22 +From: Adel Gadllah <adel.gadllah@×××××.com>
23 +Date: Thu, 29 Sep 2011 13:16:33 +0000
24 +Subject: meta-window-group: Plug memory leak
25 +
26 +We have to free the list returned by clutter_actor_get_effects() .
27 +
28 +https://bugzilla.gnome.org/show_bug.cgi?id=660464
29 +---
30 +diff --git a/src/compositor/meta-window-group.c b/src/compositor/meta-window-group.c
31 +index 107e7ba..8889503 100644
32 +--- a/src/compositor/meta-window-group.c
33 ++++ b/src/compositor/meta-window-group.c
34 +@@ -108,7 +108,7 @@ meta_window_group_paint (ClutterActor *actor)
35 + cairo_region_t *unredirected_window_region = NULL;
36 + ClutterActor *stage;
37 + cairo_rectangle_int_t visible_rect, unredirected_rect;
38 +- GList *children, *l;
39 ++ GList *children, *l, *effects;
40 +
41 + MetaWindowGroup *window_group = META_WINDOW_GROUP (actor);
42 + MetaCompScreen *info = meta_screen_get_compositor_data (window_group->screen);
43 +@@ -161,8 +161,11 @@ meta_window_group_paint (ClutterActor *actor)
44 + * as well for the same reason, but omitted for simplicity in the
45 + * hopes that no-one will do that.
46 + */
47 +- if (clutter_actor_get_effects (l->data) != NULL)
48 +- continue;
49 ++ if ((effects = clutter_actor_get_effects (l->data)) != NULL)
50 ++ {
51 ++ g_list_free (effects);
52 ++ continue;
53 ++ }
54 +
55 + if (META_IS_WINDOW_ACTOR (l->data))
56 + {
57 +--
58 +cgit v0.9.0.2
59
60 diff --git a/x11-wm/mutter/mutter-3.2.0.ebuild b/x11-wm/mutter/mutter-3.2.0-r1.ebuild
61 similarity index 91%
62 rename from x11-wm/mutter/mutter-3.2.0.ebuild
63 rename to x11-wm/mutter/mutter-3.2.0-r1.ebuild
64 index 11ab719..afcaf9a 100644
65 --- a/x11-wm/mutter/mutter-3.2.0.ebuild
66 +++ b/x11-wm/mutter/mutter-3.2.0-r1.ebuild
67 @@ -6,7 +6,7 @@ EAPI="4"
68 GCONF_DEBUG="no"
69 GNOME2_LA_PUNT="yes"
70
71 -inherit gnome2
72 +inherit eutils gnome2
73 if [[ ${PV} = 9999 ]]; then
74 inherit gnome2-live
75 fi
76 @@ -77,3 +77,9 @@ pkg_setup() {
77 $(use_enable introspection)
78 $(use_enable xinerama)"
79 }
80 +
81 +src_prepare() {
82 + gnome2_src_prepare
83 + # Fix memory leak, will be in next release
84 + epatch "${FILESDIR}/${P}-clutter_actor_get_effects-leak.patch"
85 +}