Fix error when embedded window is closed while resizing

(cherry picked from commit b61499353f)
This commit is contained in:
Hilderin 2025-02-06 17:05:06 -05:00 committed by Rémi Verschelde
parent 52e84ae83e
commit f0b2f6c3cd
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -317,7 +317,13 @@ void Viewport::_sub_window_register(Window *p_window) {
void Viewport::_sub_window_update(Window *p_window) {
int index = _sub_window_find(p_window);
ERR_FAIL_COND(index == -1);
// _sub_window_update is sometimes called deferred, and the window may have been closed since then.
// For example, when the user resizes the game window.
// In that case, _sub_window_find will not find it, which is expected.
if (index == -1) {
return;
}
SubWindow &sw = gui.sub_windows.write[index];
sw.pending_window_update = false;