[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 ]