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 |
+} |