From eba4ceb0ea0ecc1f389e47fc44b252ece2710732 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Thu, 11 Dec 2025 10:09:00 -0500 Subject: [PATCH] Node3DEditorViewport: Prevent crash while handling input The selection might change before the user releases the mouse pointer, and this would crash the editor. This follows the same check that is done in ::_update_gizmos --- editor/scene/3d/node_3d_editor_plugin.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/editor/scene/3d/node_3d_editor_plugin.cpp b/editor/scene/3d/node_3d_editor_plugin.cpp index b357c95d80..216c69e570 100644 --- a/editor/scene/3d/node_3d_editor_plugin.cpp +++ b/editor/scene/3d/node_3d_editor_plugin.cpp @@ -2204,8 +2204,10 @@ void Node3DEditorViewport::_sinput(const Ref &p_event) { if (_edit.original_mouse_pos != _edit.mouse_pos || _edit.gizmo->get_plugin()->can_commit_handle_on_click()) { _edit.gizmo->commit_handle(_edit.gizmo_handle, _edit.gizmo_handle_secondary, _edit.gizmo_initial_value, false); } - - spatial_editor->get_single_selected_node()->update_gizmos(); + Node3D *selected_node = spatial_editor->get_single_selected_node(); + if (selected_node) { + selected_node->update_gizmos(); + } _edit.gizmo = Ref(); break; }