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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon Mar 30 16:20:22 EEST 2009
Author: gw
Date: 2009-03-30 16:20:13 +0300 (Mon, 30 Mar 2009)
New Revision: 17868

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: Applied patch from
        NB#108114 to fix problem with actor resizing


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-30 13:18:27 UTC (rev 17867)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-30 13:20:13 UTC (rev 17868)
@@ -1,5 +1,10 @@
-2009-03-r0  Adam Endrodi  <adam.endrodi at blumsoft.eu>
+2009-03-30  Gordon Williams  <gordon.williams at collabora.co.uk>
 
+        * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Applied patch from
+        NB#108114 to fix problem with actor resizing
+
+2009-03-30  Adam Endrodi  <adam.endrodi at blumsoft.eu>
+
 	* debian/rules:
 	  Recognize the "debug" DEB_BUILD_OPTIONS parameter
 	  to enable g_debug() and compile with -O0.

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-30 13:18:27 UTC (rev 17867)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-03-30 13:20:13 UTC (rev 17868)
@@ -125,40 +125,42 @@
   ClutterActor *actor = cclient->priv->actor;
   ClutterActor *texture = cclient->priv->texture;
 
-  if (!(cclient->priv->flags & MBWMCompMgrClutterClientDontPosition) ||
-      force)
+  int position = !(cclient->priv->flags & MBWMCompMgrClutterClientDontPosition) | force;
+
+  /* We have 2 types - either we have a frame,
+   * or we don't. The texture sits inside our parent actor */
+  if (client->wm_client->xwin_frame)
     {
-      /* We have 2 types - either we have a frame,
-       * or we don't. The texture sits inside our parent actor */
-      if (client->wm_client->xwin_frame)
+      /* So we're in a frame, but this frame is now rendered with clutter.
+       * So we treat our parent 'actor' as the frame and offset the
+       * X window in it */
+      MBGeometry geomf = client->wm_client->frame_geometry;
+      MBGeometry geomw = client->wm_client->window->geometry;
+      if (position)
+        clutter_actor_set_position (actor, geomf.x, geomf.y);
+      clutter_actor_set_size (actor, geomf.width, geomf.height);
+
+      if (texture)
         {
-          /* So we're in a frame, but this frame is now rendered with clutter.
-           * So we treat our parent 'actor' as the frame and offset the
-           * X window in it */
-          MBGeometry geomf = client->wm_client->frame_geometry;
-          MBGeometry geomw = client->wm_client->window->geometry;
-          clutter_actor_set_position (actor, geomf.x, geomf.y);
-          clutter_actor_set_size (actor, geomf.width, geomf.height);
-          if (texture)
-            {
-              clutter_actor_set_position (texture,
-                  geomw.x-geomf.x,
-                  geomw.y-geomf.y);
-              clutter_actor_set_size (texture, geomw.width, geomw.height);
-            }
+          clutter_actor_set_position (texture,
+              geomw.x-geomf.x,
+              geomw.y-geomf.y);
+          clutter_actor_set_size (texture, geomw.width, geomw.height);
         }
-      else
+    }
+  else
+    {
+      /* We're not in a frame - it's easy. Make the texture and actor
+       * the same size */
+      MBGeometry geom = client->wm_client->window->geometry;
+      if (position)
+        clutter_actor_set_position (actor, geom.x, geom.y);
+      clutter_actor_set_size (actor, geom.width, geom.height);
+
+      if (texture)
         {
-          /* We're not in a frame - it's easy. Make the texture and actor
-           * the same size */
-          MBGeometry geom = client->wm_client->window->geometry;
-          clutter_actor_set_position (actor, geom.x, geom.y);
-          clutter_actor_set_size (actor, geom.width, geom.height);
-          if (texture)
-            {
-              clutter_actor_set_position (texture, 0, 0);
-              clutter_actor_set_size (texture, geom.width, geom.height);
-            }
+          clutter_actor_set_position (texture, 0, 0);
+          clutter_actor_set_size (texture, geom.width, geom.height);
         }
     }
 }


More information about the maemo-commits mailing list