[maemo-commits] [maemo-commits] r17900 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Mar 31 11:57:44 EEST 2009
- Previous message: [maemo-commits] r17899 - projects/haf/tags/libmatchbox2
- Next message: [maemo-commits] r17901 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: gw
Date: 2009-03-31 11:57:27 +0300 (Tue, 31 Mar 2009)
New Revision: 17900
Modified:
projects/haf/trunk/libmatchbox2/ChangeLog
projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
Log:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Fix for NB#107323,
Any actors that were children of the ClutterClient's actor are
now removed (this also fixes a possible double-free for
hd-decor)
Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-31 06:09:09 UTC (rev 17899)
+++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-31 08:57:27 UTC (rev 17900)
@@ -1,3 +1,9 @@
+2009-03-31 Gordon Williams <gordon.williams at collabora.co.uk>
+
+ * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Fix for NB#107323,
+ Any actors that were children of the ClutterClient's actor are
+ now removed (this also fixes a possible double-free for hd-decor)
+
2009-03-31 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com>
Release 0.2.26
Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c 2009-03-31 06:09:09 UTC (rev 17899)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c 2009-03-31 08:57:27 UTC (rev 17900)
@@ -278,8 +278,15 @@
MBWMCompMgrClutterClient * cclient = MB_WM_COMP_MGR_CLUTTER_CLIENT (obj);
MBWindowManager * wm = c->wm;
+ if (cclient->priv->texture)
+ clutter_actor_destroy (cclient->priv->texture);
if (cclient->priv->actor)
- clutter_actor_destroy (cclient->priv->actor);
+ {
+ /* We want to destroy our main group, but not any children - as they
+ * may have been added by hd-decor, or hd-animation-actor */
+ clutter_group_remove_all(CLUTTER_GROUP(cclient->priv->actor));
+ clutter_actor_destroy (cclient->priv->actor);
+ }
if (cclient->priv->window_damage)
{
@@ -988,6 +995,11 @@
#else
texture = clutter_x11_texture_pixmap_new ();
#endif
+
+ /* We need to reference this object so it does not get accidentally freed in
+ * the case of AnimationActors */
+ texture = g_object_ref(texture);
+
sprintf(actor_name, "texture_0x%lx",
c->xwin_frame ? c->xwin_frame : c->window->xwindow);
clutter_actor_set_name(texture, actor_name);
- Previous message: [maemo-commits] r17899 - projects/haf/tags/libmatchbox2
- Next message: [maemo-commits] r17901 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
