@@ -44,7 +44,7 @@ bool EditorDockDragHint::can_drop_data(const Point2 &p_point, const Variant &p_d
4444
4545void EditorDockDragHint::drop_data (const Point2 &p_point, const Variant &p_data) {
4646 // Drop dock into last spot if not over tabbar.
47- if (drop_tabbar ->get_rect ().has_point (p_point)) {
47+ if (drop_tabbar_parent ->get_rect ().has_point (p_point)) {
4848 drop_tabbar->_handle_drop_data (" tab_container_tab" , p_point, p_data, callable_mp (this , &EditorDockDragHint::_drag_move_tab), callable_mp (this , &EditorDockDragHint::_drag_move_tab_from));
4949 } else {
5050 EditorDockManager *dock_manager = EditorDockManager::get_singleton ();
@@ -72,13 +72,14 @@ void EditorDockDragHint::gui_input(const Ref<InputEvent> &p_event) {
7272 if (mouse_inside_tabbar) {
7373 queue_redraw ();
7474 }
75- mouse_inside_tabbar = drop_tabbar ->get_rect ().has_point (pos);
75+ mouse_inside_tabbar = drop_tabbar_parent ->get_rect ().has_point (pos);
7676 }
7777}
7878
7979void EditorDockDragHint::set_slot (DockTabContainer *p_slot) {
8080 dock_container = p_slot;
8181 drop_tabbar = p_slot->get_tab_bar ();
82+ drop_tabbar_parent = (Control *)p_slot->get_internal_container ();
8283}
8384
8485void EditorDockDragHint::_notification (int p_what) {
@@ -130,8 +131,8 @@ void EditorDockDragHint::_notification(int p_what) {
130131 draw_style_box (dock_drop_highlight, dock_rect);
131132
132133 // Only display tabbar hint if the mouse is over the tabbar.
133- if (drop_tabbar ->get_global_rect ().has_point (get_global_mouse_position ())) {
134- draw_set_transform (drop_tabbar ->get_position ()); // The TabBar isn't always on top.
134+ if (drop_tabbar_parent ->get_global_rect ().has_point (get_global_mouse_position ())) {
135+ draw_set_transform (drop_tabbar_parent ->get_position ()); // The TabBar isn't always on top.
135136 drop_tabbar->_draw_tab_drop (get_canvas_item ());
136137 }
137138 } break ;
0 commit comments