From 658a2371e607974a1cced2775b8ca881f2a1ed0f Mon Sep 17 00:00:00 2001 From: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com> Date: Mon, 26 Jan 2026 01:13:16 -0500 Subject: [PATCH] Allow debugger dock to float --- editor/debugger/editor_debugger_node.cpp | 4 +--- editor/debugger/editor_debugger_plugin.cpp | 7 ------- editor/debugger/editor_debugger_plugin.h | 1 - 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp index cf50ad94fa..360fd871ba 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -67,9 +67,7 @@ EditorDebuggerNode::EditorDebuggerNode() { set_layout_key("Debugger"); set_dock_shortcut(ED_SHORTCUT_AND_COMMAND("bottom_panels/toggle_debugger_bottom_panel", TTRC("Toggle Debugger Dock"), KeyModifierMask::ALT | Key::D)); set_default_slot(EditorDock::DOCK_SLOT_BOTTOM); - set_available_layouts(EditorDock::DOCK_LAYOUT_HORIZONTAL); - set_global(false); - set_transient(true); + set_available_layouts(EditorDock::DOCK_LAYOUT_HORIZONTAL | EditorDock::DOCK_LAYOUT_FLOATING); _update_margins(); diff --git a/editor/debugger/editor_debugger_plugin.cpp b/editor/debugger/editor_debugger_plugin.cpp index fbb389ccb4..9e66e13702 100644 --- a/editor/debugger/editor_debugger_plugin.cpp +++ b/editor/debugger/editor_debugger_plugin.cpp @@ -113,7 +113,6 @@ void EditorDebuggerSession::detach_debugger() { debugger->disconnect("started", callable_mp(this, &EditorDebuggerSession::_started)); debugger->disconnect("stopped", callable_mp(this, &EditorDebuggerSession::_stopped)); debugger->disconnect("breaked", callable_mp(this, &EditorDebuggerSession::_breaked)); - debugger->disconnect(SceneStringName(tree_exited), callable_mp(this, &EditorDebuggerSession::_debugger_gone_away)); for (Control *tab : tabs) { debugger->remove_debugger_tab(tab); } @@ -121,18 +120,12 @@ void EditorDebuggerSession::detach_debugger() { debugger = nullptr; } -void EditorDebuggerSession::_debugger_gone_away() { - debugger = nullptr; - tabs.clear(); -} - EditorDebuggerSession::EditorDebuggerSession(ScriptEditorDebugger *p_debugger) { ERR_FAIL_NULL(p_debugger); debugger = p_debugger; debugger->connect("started", callable_mp(this, &EditorDebuggerSession::_started)); debugger->connect("stopped", callable_mp(this, &EditorDebuggerSession::_stopped)); debugger->connect("breaked", callable_mp(this, &EditorDebuggerSession::_breaked)); - debugger->connect(SceneStringName(tree_exited), callable_mp(this, &EditorDebuggerSession::_debugger_gone_away), CONNECT_ONE_SHOT); } EditorDebuggerSession::~EditorDebuggerSession() { diff --git a/editor/debugger/editor_debugger_plugin.h b/editor/debugger/editor_debugger_plugin.h index 1cc4a54e71..e69f149db8 100644 --- a/editor/debugger/editor_debugger_plugin.h +++ b/editor/debugger/editor_debugger_plugin.h @@ -45,7 +45,6 @@ private: void _breaked(bool p_really_did, bool p_can_debug, const String &p_message, bool p_has_stackdump); void _started(); void _stopped(); - void _debugger_gone_away(); protected: static void _bind_methods();