- // we might want to do this slightly more sophisticated later, but for now this will do
- return !valid || scores_changed.get_flag();
+ if (!valid)
+ return true;
+ if (!scores_changed.get_flag())
+ return false;
+
+ bool needs_update;
+ conn.perform(FetchNeedsUpdate(last_updated, tournament, round, parallel, &needs_update));
+
+ if (!needs_update)
+ scores_changed.reset_flag();
+
+ return needs_update;