From 15b99f2e7ae0b2ab4bce18c1663dff95220f42e0 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Thu, 18 Feb 2021 11:29:30 +0000 Subject: [PATCH] Fix: Whole status bar instead of money widget refreshed on money change (#8692) This could result in the rest of the status bar being redrawn unnecessarily frequently --- src/company_cmd.cpp | 3 ++- src/date.cpp | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index fee312b8df..21f7125b7a 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -35,6 +35,7 @@ #include "game/game.hpp" #include "goal_base.h" #include "story_base.h" +#include "widgets/statusbar_widget.h" #include "table/strings.h" @@ -182,7 +183,7 @@ void InvalidateCompanyWindows(const Company *company) { CompanyID cid = company->index; - if (cid == _local_company) SetWindowDirty(WC_STATUS_BAR, 0); + if (cid == _local_company) SetWindowWidgetDirty(WC_STATUS_BAR, 0, WID_S_RIGHT); SetWindowDirty(WC_FINANCES, cid); } diff --git a/src/date.cpp b/src/date.cpp index 18e1ad180c..0fd98c42b9 100644 --- a/src/date.cpp +++ b/src/date.cpp @@ -19,6 +19,7 @@ #include "linkgraph/linkgraph.h" #include "saveload/saveload.h" #include "newgrf_profiling.h" +#include "widgets/statusbar_widget.h" #include "safeguards.h" @@ -255,7 +256,7 @@ static void OnNewDay() DisasterDailyLoop(); IndustryDailyLoop(); - SetWindowWidgetDirty(WC_STATUS_BAR, 0, 0); + SetWindowWidgetDirty(WC_STATUS_BAR, 0, WID_S_LEFT); EnginesDailyLoop(); /* Refresh after possible snowline change */