(svn r19358) -Fix [FS#3663]: Close error messages about missing ownership when the company closes or is taken over. (parts by Alberth).

This commit is contained in:
frosch 2010-03-06 16:26:09 +00:00
parent bcb01903cd
commit ef477b7dd7
2 changed files with 8 additions and 0 deletions

View File

@ -78,6 +78,8 @@ void Company::PostDestructor(size_t index)
InvalidateWindowData(WC_GRAPH_LEGEND, 0, (int)index);
InvalidateWindowData(WC_PERFORMANCE_DETAIL, 0, (int)index);
InvalidateWindowData(WC_COMPANY_LEAGUE, 0, 0);
/* If the currently shown error message has this company in it, the close it. */
InvalidateWindowData(WC_ERRMSG, 0);
}
/**

View File

@ -620,6 +620,12 @@ public:
this->DrawWidgets();
}
virtual void OnInvalidateData(int data)
{
/* If company gets shut down, while displaying an error about it, remove the error message. */
if (this->face != INVALID_COMPANY && !Company::IsValidID(this->face)) delete this;
}
virtual void SetStringParameters(int widget) const
{
if (widget == EMW_CAPTION) CopyInDParam(0, this->decode_params, lengthof(this->decode_params));