summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdel Gadllah <adel.gadllah@gmail.com>2014-02-16 22:07:43 +0100
committerAdel Gadllah <adel.gadllah@gmail.com>2014-02-20 12:03:02 +0100
commit6665f47d66a871b6e1a5f4200282f42da043a0e8 (patch)
tree0eb65dce84dd29ef92c5347a645d47e01375edc2
parent6417debe10795115d3ff3f78251c3585741d353e (diff)
downloadclutter-6665f47d66a871b6e1a5f4200282f42da043a0e8.tar.gz
stage-cogl: Fix buffer_age code path
Currently we where checking whether the damage_history list contains more or equal then buffer_age entries. This is wrong because we prepend our current clip to the list just before the check. Fix that to check whether we have more entries instead of more or equal. https://bugzilla.gnome.org/show_bug.cgi?id=724788
-rw-r--r--clutter/cogl/clutter-stage-cogl.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/clutter/cogl/clutter-stage-cogl.c b/clutter/cogl/clutter-stage-cogl.c
index 86546b1ec..cff84445e 100644
--- a/clutter/cogl/clutter-stage-cogl.c
+++ b/clutter/cogl/clutter-stage-cogl.c
@@ -483,11 +483,12 @@ clutter_stage_cogl_redraw (ClutterStageWindow *stage_window)
stage_cogl->damage_history = g_slist_prepend (stage_cogl->damage_history, current_damage);
- if (age != 0 && !stage_cogl->dirty_backbuffer && g_slist_length (stage_cogl->damage_history) >= age)
+ if (age != 0 && !stage_cogl->dirty_backbuffer && g_slist_length (stage_cogl->damage_history) > age)
{
int i = 0;
GSList *tmp = NULL;
- for (tmp = stage_cogl->damage_history; tmp; tmp = tmp->next)
+ /* We skip the first entry because it is the clip_region itself */
+ for (tmp = stage_cogl->damage_history->next; tmp; tmp = tmp->next)
{
_clutter_util_rectangle_union (clip_region, tmp->data, clip_region);
i++;