diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-27 08:47:43 +0200 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2023-11-27 08:47:43 +0200 |
commit | bf19ced15d7c6ff1ffd33068a739020b65eefb18 (patch) | |
tree | ed22a318042ceafa04970cf8d708347bb79a32b3 | |
parent | 1ba920fada9efc8c4476ded50fe673b8db541366 (diff) | |
download | redot-engine-bf19ced15d7c6ff1ffd33068a739020b65eefb18.tar.gz |
Fix crash on late mouse enter/exit event arrival.
-rw-r--r-- | scene/main/window.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/scene/main/window.cpp b/scene/main/window.cpp index 2c28dc31d6..823b0c6f5b 100644 --- a/scene/main/window.cpp +++ b/scene/main/window.cpp @@ -681,6 +681,9 @@ void Window::_propagate_window_notification(Node *p_node, int p_notification) { void Window::_event_callback(DisplayServer::WindowEvent p_event) { switch (p_event) { case DisplayServer::WINDOW_EVENT_MOUSE_ENTER: { + if (!is_inside_tree()) { + return; + } Window *root = get_tree()->get_root(); if (root->gui.windowmanager_window_over) { #ifdef DEV_ENABLED @@ -696,6 +699,9 @@ void Window::_event_callback(DisplayServer::WindowEvent p_event) { } } break; case DisplayServer::WINDOW_EVENT_MOUSE_EXIT: { + if (!is_inside_tree()) { + return; + } Window *root = get_tree()->get_root(); if (!root->gui.windowmanager_window_over) { #ifdef DEV_ENABLED |