From e7f90e781ddff8be80426d4a8ad5ee8669ad5667 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sat, 5 Mar 2005 01:05:23 +0000 Subject: [PATCH] Hack the rotate screen so it doesn't delay new updates of a screen any longer just because that screen contained new info at the time (see the comments). --- bigscreen/rotatescreen.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/bigscreen/rotatescreen.cpp b/bigscreen/rotatescreen.cpp index 4fc9fa0..871a655 100644 --- a/bigscreen/rotatescreen.cpp +++ b/bigscreen/rotatescreen.cpp @@ -166,7 +166,14 @@ bool RotateScreen::needs_update() return (since >= 10.0); } -// hold all screens for minimum three seconds, hold all screens with new info for at minimum eight seconds +/* + * Hold all screens for minimum three seconds, hold all screens with new info + * for at minimum eight seconds. There's a slight hack here; a screen with new + * info _might_ already be outdated (for instance, if we do an update to a group + * with a mistake, then correct it quick afterwards). If it's already outdated, + * we ignore the "eight second" rule; the results will be somewhat ugly, though, + * but it's hard to do much better without too much special code. + */ bool RotateScreen::can_update() { struct timeval now; @@ -177,7 +184,7 @@ bool RotateScreen::can_update() if (since < 3.0) return false; - if (fade_to_new_info && since < 8.0) + if (fade_to_new_info && !subscreens[current_screen].screen->check_invalidated() && since < 8.0) return false; return true; } -- 2.39.2