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

This commit is contained in:
smatz 2009-07-13 12:00:56 +00:00
parent aa7bcb1259
commit 95c7993451
2 changed files with 4 additions and 10 deletions

View File

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

View File

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