From 95c7993451a8d76b3bd3ec0c4844401e2a7729f0 Mon Sep 17 00:00:00 2001 From: smatz Date: Mon, 13 Jul 2009 12:00:56 +0000 Subject: [PATCH] (svn r16809) -Fix [FS#3021](r13096): automatic resizing of SelectCompanyLiveryWindow wasn't working as expected --- src/company_gui.cpp | 12 +++--------- src/saveload/afterload.cpp | 2 +- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/company_gui.cpp b/src/company_gui.cpp index e71d86585f..e5d5bf5cc7 100644 --- a/src/company_gui.cpp +++ b/src/company_gui.cpp @@ -559,7 +559,7 @@ public: this->livery_class = LC_OTHER; this->sel = 1; this->LowerWidget(SCLW_WIDGET_CLASS_GENERAL); - this->OnInvalidateData(_loaded_newgrf_features.has_2CC); + this->OnInvalidateData(); this->FindWindowPlacementAndResize(desc); } @@ -692,14 +692,8 @@ public: virtual void OnInvalidateData(int data = 0) { - static bool has2cc = true; - - if (has2cc == !!data) return; - - has2cc = !!data; - - int r = this->widget[has2cc ? SCLW_WIDGET_SEC_COL_DROPDOWN : SCLW_WIDGET_PRI_COL_DROPDOWN].right; - this->SetWidgetHiddenState(SCLW_WIDGET_SEC_COL_DROPDOWN, !has2cc); + int r = this->widget[_loaded_newgrf_features.has_2CC ? SCLW_WIDGET_SEC_COL_DROPDOWN : SCLW_WIDGET_PRI_COL_DROPDOWN].right; + this->SetWidgetHiddenState(SCLW_WIDGET_SEC_COL_DROPDOWN, !_loaded_newgrf_features.has_2CC); this->widget[SCLW_WIDGET_CAPTION].right = r; this->widget[SCLW_WIDGET_SPACER_CLASS].right = r; this->widget[SCLW_WIDGET_MATRIX].right = r; diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 407972f7b3..a31dc4a443 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -1987,7 +1987,7 @@ void ReloadNewGRFData() /* Check and update house and town values */ UpdateHousesAndTowns(); /* Update livery selection windows */ - for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) InvalidateWindowData(WC_COMPANY_COLOUR, i, _loaded_newgrf_features.has_2CC); + for (CompanyID i = COMPANY_FIRST; i < MAX_COMPANIES; i++) InvalidateWindowData(WC_COMPANY_COLOUR, i); /* redraw the whole screen */ MarkWholeScreenDirty(); CheckTrainsLengths();