mirror of https://github.com/OpenTTD/OpenTTD
(svn r16809) -Fix [FS#3021](r13096): automatic resizing of SelectCompanyLiveryWindow wasn't working as expected
parent
aa7bcb1259
commit
95c7993451
|
@ -559,7 +559,7 @@ public:
|
||||||
this->livery_class = LC_OTHER;
|
this->livery_class = LC_OTHER;
|
||||||
this->sel = 1;
|
this->sel = 1;
|
||||||
this->LowerWidget(SCLW_WIDGET_CLASS_GENERAL);
|
this->LowerWidget(SCLW_WIDGET_CLASS_GENERAL);
|
||||||
this->OnInvalidateData(_loaded_newgrf_features.has_2CC);
|
this->OnInvalidateData();
|
||||||
this->FindWindowPlacementAndResize(desc);
|
this->FindWindowPlacementAndResize(desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -692,14 +692,8 @@ public:
|
||||||
|
|
||||||
virtual void OnInvalidateData(int data = 0)
|
virtual void OnInvalidateData(int data = 0)
|
||||||
{
|
{
|
||||||
static bool has2cc = true;
|
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);
|
||||||
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);
|
|
||||||
this->widget[SCLW_WIDGET_CAPTION].right = r;
|
this->widget[SCLW_WIDGET_CAPTION].right = r;
|
||||||
this->widget[SCLW_WIDGET_SPACER_CLASS].right = r;
|
this->widget[SCLW_WIDGET_SPACER_CLASS].right = r;
|
||||||
this->widget[SCLW_WIDGET_MATRIX].right = r;
|
this->widget[SCLW_WIDGET_MATRIX].right = r;
|
||||||
|
|
|
@ -1987,7 +1987,7 @@ void ReloadNewGRFData()
|
||||||
/* Check and update house and town values */
|
/* Check and update house and town values */
|
||||||
UpdateHousesAndTowns();
|
UpdateHousesAndTowns();
|
||||||
/* Update livery selection windows */
|
/* 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 */
|
/* redraw the whole screen */
|
||||||
MarkWholeScreenDirty();
|
MarkWholeScreenDirty();
|
||||||
CheckTrainsLengths();
|
CheckTrainsLengths();
|
||||||
|
|
Loading…
Reference in New Issue