Browse Source

Docking: Fixed double-overlay when dragging window over one of the (four cardinal) outer drop boxes. (#2109)

omar 6 years ago
parent
commit
66cfbbff5e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      imgui.cpp

+ 2 - 0
imgui.cpp

@@ -12354,6 +12354,8 @@ void ImGui::BeginAsDockableDragDropTarget(ImGuiWindow* window)
                     if (DockNodePreviewDockCalc(window, root_node, payload_window, &split_outer, is_explicit_target, true))
                     if (DockNodePreviewDockCalc(window, root_node, payload_window, &split_outer, is_explicit_target, true))
                         split_data = &split_outer;
                         split_data = &split_outer;
             DockNodePreviewDockCalc(window, target_node, payload_window, &split_inner, is_explicit_target, false);
             DockNodePreviewDockCalc(window, target_node, payload_window, &split_inner, is_explicit_target, false);
+            if (split_data == &split_outer)
+                split_inner.IsDropAllowed = false;
 
 
             // Draw inner then outer, so that previewed tab (in inner data) will be behind the outer drop boxes
             // Draw inner then outer, so that previewed tab (in inner data) will be behind the outer drop boxes
             DockNodePreviewDockRender(window, target_node, payload_window, &split_inner);
             DockNodePreviewDockRender(window, target_node, payload_window, &split_inner);