(svn r16809) -Fix [FS#3021](r13096): automatic resizing of SelectCompanyLiveryWindow wasn't working as expected

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
smatz 15 years ago
parent aa7bcb1259
commit 95c7993451

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

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

Loading…
Cancel
Save