[maemo-commits] [maemo-commits] r17912 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Mar 31 17:40:25 EEST 2009
Author: gw
Date: 2009-03-31 17:40:17 +0300 (Tue, 31 Mar 2009)
New Revision: 17912

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.
          It really works this time...


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-31 14:25:28 UTC (rev 17911)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-31 14:40:17 UTC (rev 17912)
@@ -1,5 +1,10 @@
 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...
+
+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 hd-decor problems that appear to

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 14:25:28 UTC (rev 17911)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-03-31 14:40:17 UTC (rev 17912)
@@ -265,7 +265,7 @@
   cclient->priv =
     mb_wm_util_malloc0 (sizeof (MBWMCompMgrClutterClientPrivate));
 
-  cclient->priv->actor = clutter_group_new();
+  cclient->priv->actor = g_object_ref( clutter_group_new() );
   cclient->priv->bound = FALSE;
 
   return 1;
@@ -278,6 +278,8 @@
   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 */
   if (cclient->priv->texture)
     clutter_actor_destroy (cclient->priv->texture);
   if (cclient->priv->actor)
@@ -996,9 +998,6 @@
   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);
@@ -1012,7 +1011,9 @@
 
   if (cclient->priv->texture)
     clutter_actor_destroy(cclient->priv->texture);
-  cclient->priv->texture = texture;
+  /* We need to reference this object so it does not get accidentally freed in
+   * the case of AnimationActors */
+  cclient->priv->texture = g_object_ref(texture);
 
   g_object_set_data (G_OBJECT (cclient->priv->actor),
       "MBWMCompMgrClutterClient", cclient);


More information about the maemo-commits mailing list