[clutter/clutter-1.6] clutter-actor: Store the queue redraw entry pointer



commit a24fe849c864ef2e0ccc77c73a89cbb1d71e506f
Author: Neil Roberts <neil linux intel com>
Date:   Fri May 13 15:48:27 2011 +0100

    clutter-actor: Store the queue redraw entry pointer
    
    _clutter_stage_queue_actor_redraw returns a pointer to the
    ClutterStageQueueRedrawEntry struct which it allocates. The actor is
    expected to store a pointer to this so that it doesn't need to search
    the list of queued redraws next time a queue redraw is called. However
    _clutter_actor_queue_redraw_with_clip wasn't storing this pointer
    which meant that it thought every queue redraw was the first queue
    redraw. That meant that queueing a redraw with a clip would override
    any previous attempts to queue a redraw instead of trying to combine
    them.
    
    This is based on commit d95258e987178 in the master branch.

 clutter/clutter-actor.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c
index 343d69d..1d36e6f 100644
--- a/clutter/clutter-actor.c
+++ b/clutter/clutter-actor.c
@@ -5252,10 +5252,11 @@ _clutter_actor_queue_redraw_with_clip (ClutterActor       *self,
   stage = _clutter_actor_get_stage_internal (self);
 
   if (stage != NULL)
-    _clutter_stage_queue_actor_redraw (CLUTTER_STAGE (stage),
-                                       self->priv->queue_redraw_entry,
-                                       self,
-                                       pv);
+    self->priv->queue_redraw_entry =
+      _clutter_stage_queue_actor_redraw (CLUTTER_STAGE (stage),
+                                         self->priv->queue_redraw_entry,
+                                         self,
+                                         pv);
 
   if (should_free_pv)
     clutter_paint_volume_free (pv);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]