diff --git a/editor/editor_dock_manager.cpp b/editor/editor_dock_manager.cpp index b6250671ee1..06dd33d8abd 100644 --- a/editor/editor_dock_manager.cpp +++ b/editor/editor_dock_manager.cpp @@ -147,7 +147,6 @@ void EditorDockManager::_update_layout() { if (!dock_context_popup->is_inside_tree() || EditorNode::get_singleton()->is_exiting()) { return; } - EditorNode::get_singleton()->edit_current(); dock_context_popup->docks_updated(); _update_docks_menu(); EditorNode::get_singleton()->save_editor_layout_delayed(); diff --git a/editor/editor_inspector.cpp b/editor/editor_inspector.cpp index 50cc89c6183..98feba38fda 100644 --- a/editor/editor_inspector.cpp +++ b/editor/editor_inspector.cpp @@ -3477,7 +3477,9 @@ void EditorInspector::edit(Object *p_object) { next_object = p_object; // Some plugins need to know the next edited object when clearing the inspector. if (object) { _clear(); - object->disconnect("property_list_changed", callable_mp(this, &EditorInspector::_changed_callback)); + if (object->is_connected("property_list_changed", callable_mp(this, &EditorInspector::_changed_callback))) { + object->disconnect("property_list_changed", callable_mp(this, &EditorInspector::_changed_callback)); + } } per_array_page.clear(); @@ -4019,14 +4021,13 @@ void EditorInspector::_notification(int p_what) { } break; case NOTIFICATION_PREDELETE: { - edit(nullptr); //just in case + edit(nullptr); } break; case NOTIFICATION_EXIT_TREE: { if (!sub_inspector) { get_tree()->disconnect("node_removed", callable_mp(this, &EditorInspector::_node_removed)); } - edit(nullptr); } break; case NOTIFICATION_VISIBILITY_CHANGED: {