[maemo-commits] [maemo-commits] r17953 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Apr 1 13:47:28 EEST 2009
- Previous message: [maemo-commits] r17951 - in projects/haf/branches/sapwood/rgba-ng: . tests
- Next message: [maemo-commits] r17954 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: gw Date: 2009-04-01 13:47:23 +0300 (Wed, 01 Apr 2009) New Revision: 17953 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 BN#107681. Moved setting and unsetting a pointer to the ClutterClient from HD to inside the ClutterClient Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-04-01 10:18:19 UTC (rev 17952) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-04-01 10:47:23 UTC (rev 17953) @@ -1,5 +1,11 @@ 2009-03-31 Gordon Williams <gordon.williams at collabora.co.uk> + * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Fix for BN#107681. + Moved setting and unsetting a pointer to the ClutterClient from + HD to inside the ClutterClient + +2009-03-31 Gordon Williams <gordon.williams at collabora.co.uk> + * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Fix for NB#107323. It really works this time... 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-04-01 10:18:19 UTC (rev 17952) +++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c 2009-04-01 10:47:23 UTC (rev 17953) @@ -268,6 +268,9 @@ cclient->priv->actor = g_object_ref( clutter_group_new() ); cclient->priv->bound = FALSE; + g_object_set_data (G_OBJECT (cclient->priv->actor), + "HD-MBWMCompMgrClutterClient", cclient); + return 1; } @@ -278,16 +281,25 @@ MBWMCompMgrClutterClient * cclient = MB_WM_COMP_MGR_CLUTTER_CLIENT (obj); MBWindowManager * wm = c->wm; - /* We don't need g_object_unrefs for actors, as destroy gets rid - * of them regardless */ + /* We just unref our actors here and clutter will free them if required */ if (cclient->priv->texture) - clutter_actor_destroy (cclient->priv->texture); + { + g_object_unref (cclient->priv->texture); + cclient->priv->texture = NULL; + } if (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 */ + /* Hildon-desktop may have set this, but we need to unset it now, + * because we are being destroyed */ + g_object_set_data (G_OBJECT (cclient->priv->actor), + "HD-MBWMCompMgrClutterClient", NULL); + + /* If the main group gets destroyed, it destroys all children - which + * is not what we want, as they may have been added by hd-decor or + * hd-animation-actor. Instead remove all children beforehand. */ clutter_group_remove_all(CLUTTER_GROUP(cclient->priv->actor)); - clutter_actor_destroy (cclient->priv->actor); + g_object_unref (cclient->priv->actor); + cclient->priv->actor = NULL; } if (cclient->priv->window_damage) @@ -1015,9 +1027,6 @@ * the case of AnimationActors */ cclient->priv->texture = g_object_ref(texture); - g_object_set_data (G_OBJECT (cclient->priv->actor), - "MBWMCompMgrClutterClient", cclient); - /* set up our sizes and positions. Force this because it's the first * time we create the texture */ mb_wm_comp_mgr_clutter_client_set_size(cclient, TRUE);
- Previous message: [maemo-commits] r17951 - in projects/haf/branches/sapwood/rgba-ng: . tests
- Next message: [maemo-commits] r17954 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]