1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-30 18:09:09 +00:00

Fix #7952: don't try to access destroyed QueryStrings

This commit is contained in:
glx
2020-01-21 20:59:01 +01:00
committed by Charles Pigott
parent 9d5dd893cd
commit 341941af85

View File

@@ -389,7 +389,7 @@ QueryString *Window::GetQueryString(uint widnum)
*/
/* virtual */ Point Window::GetCaretPosition() const
{
if (this->nested_focus != nullptr && this->nested_focus->type == WWT_EDITBOX) {
if (this->nested_focus != nullptr && this->nested_focus->type == WWT_EDITBOX && !this->querystrings.empty()) {
return this->GetQueryString(this->nested_focus->index)->GetCaretPosition(this, this->nested_focus->index);
}
@@ -1094,6 +1094,9 @@ Window::~Window()
/* We can't scroll the window when it's closed. */
if (_last_scroll_window == this) _last_scroll_window = nullptr;
/* Make sure we don't try to access non-existing query strings. */
this->querystrings.clear();
/* Make sure we don't try to access this window as the focused window when it doesn't exist anymore. */
if (_focused_window == this) {
this->OnFocusLost();