diff options
| -rw-r--r-- | editor/plugins/node_3d_editor_plugin.cpp | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/editor/plugins/node_3d_editor_plugin.cpp b/editor/plugins/node_3d_editor_plugin.cpp index cbdb1e520a..a0ca219c61 100644 --- a/editor/plugins/node_3d_editor_plugin.cpp +++ b/editor/plugins/node_3d_editor_plugin.cpp @@ -8126,7 +8126,13 @@ void Node3DEditorPlugin::edit(Object *p_object) {  }  bool Node3DEditorPlugin::handles(Object *p_object) const { -	return p_object->is_class("Node3D"); +	if (p_object->is_class("Node3D")) { +		return true; +	} else { +		// This ensures that gizmos are cleared when selecting a non-Node3D node. +		const_cast<Node3DEditorPlugin *>(this)->edit((Object *)nullptr); +		return false; +	}  }  Dictionary Node3DEditorPlugin::get_state() const {  |