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
This commit is contained in:
Jonathan G Rennison 2021-02-18 11:29:30 +00:00 committed by GitHub
parent 55ed7d16f7
commit 15b99f2e7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 2 deletions

View File

@ -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);
}

View File

@ -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 */