Make the "top 10 scores" and "top 5 chosen songs" screens only say they're updated...
[ccbs] / bigscreen / top5chosenscreen.cpp
index 1c4e495..cbb4455 100644 (file)
@@ -20,7 +20,17 @@ bool Top5ChosenScreen::check_invalidated()
        if (!scores_changed.get_flag())
                return false;
 
-       return true;
+       // check that there are indeed changes, otherwise don't bother
+       std::vector<TopChosen> scores;
+       conn.perform(FetchTopChosenSongsForTournament(tournament, 5, &scores));
+
+       for (std::vector<TopChosen>::const_iterator i = scores.begin(); i != scores.end(); ++i) {
+               if (seen_topchosen.count(*i) == 0) {
+                       return true;
+               }       
+       }
+       
+       return false;
 }
 
 void Top5ChosenScreen::draw(unsigned char *buf)