pacho 14/03/08 11:16:37 Added: clutter-1.16.4-buffer-age.patch Log: Avoid screen flickering with nvidia drivers (#503560 by brutester), drop old. (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Revision Changes Path 1.1 media-libs/clutter/files/clutter-1.16.4-buffer-age.patch file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/clutter/files/clutter-1.16.4-buffer-age.patch?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-libs/clutter/files/clutter-1.16.4-buffer-age.patch?rev=1.1&content-type=text/plain Index: clutter-1.16.4-buffer-age.patch =================================================================== >From 6665f47d66a871b6e1a5f4200282f42da043a0e8 Mon Sep 17 00:00:00 2001 From: Adel Gadllah <[email protected]> Date: Sun, 16 Feb 2014 21:07:43 +0000 Subject: 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 --- diff --git a/clutter/cogl/clutter-stage-cogl.c b/clutter/cogl/clutter-stage-cogl.c index 86546b1..cff8444 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++; -- cgit v0.9.2
