]> git.sesse.net Git - ccbs/blobdiff - bigscreen/groupscreen.cpp
Make backgrounded invalidated screens less database-noisy.
[ccbs] / bigscreen / groupscreen.cpp
index b2a63159540810fcd1f3d6be6202fc3b44d735e2..88fce1cc03606f527cce3c12158cd641c2956466 100644 (file)
@@ -27,13 +27,12 @@ bool GroupScreen::check_invalidated()
                return true;
        if (!scores_changed.get_flag())
                return false;
+       scores_changed.reset_flag();
 
        bool needs_update;
        conn.perform(FetchNeedsUpdate(last_updated, tournament, round, parallel, &needs_update));
 
-       if (!needs_update)
-               scores_changed.reset_flag();
-       
+       valid = !needs_update;
        return needs_update;
 }
 
@@ -198,7 +197,7 @@ void GroupScreen::find_column_widths(const Group &group, std::vector<unsigned> &
                for (unsigned i = 0; i <= num_scores + 2; ++i)
                        sumcolwidth += colwidth[i] + 20;
                
-               if (sumcolwidth < 780)
+               if (sumcolwidth < LOGICAL_SCREEN_WIDTH - 20)
                        break;
 
                if (mode == 0) {
@@ -210,7 +209,7 @@ void GroupScreen::find_column_widths(const Group &group, std::vector<unsigned> &
         * If we have space to go, distribute as much as we can to the chosen song column, so we won't have
         * total and rank jumping around.
         */
-       if (sumcolwidth < 780) {
+       if (sumcolwidth < LOGICAL_SCREEN_WIDTH - 20) {
                int first_chosen_col = -1;
                unsigned col = 1;
 
@@ -222,7 +221,7 @@ void GroupScreen::find_column_widths(const Group &group, std::vector<unsigned> &
                }
 
                if (first_chosen_col != -1) {
-                       colwidth[first_chosen_col] += 780 - sumcolwidth;
+                       colwidth[first_chosen_col] += LOGICAL_SCREEN_WIDTH - 20 - sumcolwidth;
                }
        }
 }