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.

(cherry picked from commit 08781d96ed)
This commit is contained in:
PeterN
2021-05-03 16:39:20 +01:00
committed by Jonathan G Rennison
parent b36bfc7ab0
commit 0d1c848f78

View File

@@ -1243,12 +1243,9 @@ struct QueryWindow : public Window {
this->caption = caption;
this->message = message;
this->proc = callback;
this->parent = parent;
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()
@@ -1256,6 +1253,14 @@ struct QueryWindow : public Window {
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
{
switch (widget) {