mirror of https://github.com/OpenTTD/OpenTTD
Fix: Query windows may be partially drawn initially. (#9184)
Query window was not marked dirty after being moved on init. It was then marked dirty once the white border flash completed.pull/9193/head
parent
0bc6f32346
commit
08781d96ed
|
@ -1162,12 +1162,9 @@ struct QueryWindow : public Window {
|
||||||
this->caption = caption;
|
this->caption = caption;
|
||||||
this->message = message;
|
this->message = message;
|
||||||
this->proc = callback;
|
this->proc = callback;
|
||||||
|
this->parent = parent;
|
||||||
|
|
||||||
this->InitNested(WN_CONFIRM_POPUP_QUERY);
|
this->InitNested(WN_CONFIRM_POPUP_QUERY);
|
||||||
|
|
||||||
this->parent = parent;
|
|
||||||
this->left = parent->left + (parent->width / 2) - (this->width / 2);
|
|
||||||
this->top = parent->top + (parent->height / 2) - (this->height / 2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
~QueryWindow()
|
~QueryWindow()
|
||||||
|
@ -1175,6 +1172,14 @@ struct QueryWindow : public Window {
|
||||||
if (this->proc != nullptr) this->proc(this->parent, false);
|
if (this->proc != nullptr) this->proc(this->parent, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FindWindowPlacementAndResize(int def_width, int def_height) override
|
||||||
|
{
|
||||||
|
/* Position query window over the calling window, ensuring it's within screen bounds. */
|
||||||
|
this->left = Clamp(parent->left + (parent->width / 2) - (this->width / 2), 0, _screen.width - this->width);
|
||||||
|
this->top = Clamp(parent->top + (parent->height / 2) - (this->height / 2), 0, _screen.height - this->height);
|
||||||
|
this->SetDirty();
|
||||||
|
}
|
||||||
|
|
||||||
void SetStringParameters(int widget) const override
|
void SetStringParameters(int widget) const override
|
||||||
{
|
{
|
||||||
switch (widget) {
|
switch (widget) {
|
||||||
|
|
Loading…
Reference in New Issue