summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2023-11-27 08:47:43 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2023-11-27 08:47:43 +0200
commitbf19ced15d7c6ff1ffd33068a739020b65eefb18 (patch)
treeed22a318042ceafa04970cf8d708347bb79a32b3
parent1ba920fada9efc8c4476ded50fe673b8db541366 (diff)
downloadredot-engine-bf19ced15d7c6ff1ffd33068a739020b65eefb18.tar.gz
Fix crash on late mouse enter/exit event arrival.
-rw-r--r--scene/main/window.cpp6
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