stage: handle unclipped redraw following clipped
authorRobert Bragg <robert@linux.intel.com>
Thu, 30 Sep 2010 17:42:40 +0000 (18:42 +0100)
committerRobert Bragg <robert@linux.intel.com>
Thu, 14 Oct 2010 14:29:33 +0000 (15:29 +0100)
In the case that an unclipped redraw of an actor is queued after a
clipped we should update any existing ClutterStageQueueRedrawEntry
so entry->has_clip = FALSE and free the previous clip.

clutter/clutter-stage.c

index b50fab8..f51c8dc 100644 (file)
@@ -3199,6 +3199,11 @@ _clutter_stage_queue_actor_redraw (ClutterStage *stage,
        * clip together with the existing clip */
       if (clip)
         clutter_paint_volume_union (&entry->clip, clip);
+      else
+        {
+          clutter_paint_volume_free (&entry->clip);
+          entry->has_clip = FALSE;
+        }
       return entry;
     }
   else