From de45f5418b61098af0bdf2111ccf7c87501bc174 Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Sun, 9 Mar 2025 19:49:26 +0000 Subject: [PATCH] Fix 0de7fd3c24: widget_lookup may contain non-NWidgetCore widgets. (#13787) --- src/window.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/window.cpp b/src/window.cpp index 9b50cdc793..d6df71359a 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -530,8 +530,7 @@ void Window::RaiseButtons(bool autoraise) for (auto &pair : this->widget_lookup) { WidgetType type = pair.second->type; NWidgetCore *wid = dynamic_cast(pair.second); - assert(wid != nullptr); - if (((type & ~WWB_PUSHBUTTON) < WWT_LAST || type == NWID_PUSHBUTTON_DROPDOWN) && + if (wid != nullptr && ((type & ~WWB_PUSHBUTTON) < WWT_LAST || type == NWID_PUSHBUTTON_DROPDOWN) && (!autoraise || (type & WWB_PUSHBUTTON) || type == WWT_EDITBOX) && wid->IsLowered()) { wid->SetLowered(false); wid->SetDirty(this);