diff options
Diffstat (limited to 'editor/editor_node.cpp')
| -rw-r--r-- | editor/editor_node.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 30872f0288..8e749f4def 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -4770,21 +4770,15 @@ void EditorNode::_dock_select_input(const Ref<InputEvent> &p_input) { Ref<InputEventMouseButton> mb = me; if (mb.is_valid() && mb->get_button_index() == MouseButton::LEFT && mb->is_pressed() && dock_popup_selected_idx != nrect) { - Control *dock = dock_slot[dock_popup_selected_idx]->get_current_tab_control(); - if (dock) { - dock_slot[dock_popup_selected_idx]->remove_child(dock); - } + dock_slot[nrect]->move_tab_from_tab_container(dock_slot[dock_popup_selected_idx], dock_slot[dock_popup_selected_idx]->get_current_tab(), dock_slot[nrect]->get_tab_count()); + if (dock_slot[dock_popup_selected_idx]->get_tab_count() == 0) { dock_slot[dock_popup_selected_idx]->hide(); - } else { dock_slot[dock_popup_selected_idx]->set_current_tab(0); } - dock_slot[nrect]->add_child(dock); dock_popup_selected_idx = nrect; - dock_slot[nrect]->set_current_tab(dock_slot[nrect]->get_tab_count() - 1); - dock_slot[nrect]->set_tab_title(dock_slot[nrect]->get_tab_count() - 1, TTRGET(dock->get_name())); dock_slot[nrect]->show(); dock_select->queue_redraw(); |
