Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass) on success would prevent further filter from running. (#6882)

features/sdl_renderer3_multiviewports
ocornut ago%!(EXTRA string=2 years)
parent f8aed6499f
commit ff534b0d0a
  1. 6
      docs/CHANGELOG.txt
  2. 8
      imgui.cpp

@ -127,6 +127,12 @@ Docking+Viewports Branch:
- Docking: renamed ImGuiDockNodeFlags_NoDockingInCentralNode to ImGuiDockNodeFlags_NoDockingOverCentralNode.
- Docking: Internals: renamed ImGuiDockNodeFlags_NoDockingSplitMe to ImGuiDockNodeFlags_NoDockingSplit.
Docking+Viewports Branch:
- Docking: Fixed a bug where ClassId compare tests (when using SetNextWindowClass)
on success would prevent further filter from running, namely the one that prevent
docking over a popup.
-----------------------------------------------------------------------
VERSION 1.89.9 (Released 2023-09-04)

@ -17059,11 +17059,13 @@ static bool DockNodeIsDropAllowedOne(ImGuiWindow* payload, ImGuiWindow* host_win
ImGuiWindowClass* payload_class = &payload->WindowClass;
if (host_class->ClassId != payload_class->ClassId)
{
bool pass = false;
if (host_class->ClassId != 0 && host_class->DockingAllowUnclassed && payload_class->ClassId == 0)
return true;
pass = true;
if (payload_class->ClassId != 0 && payload_class->DockingAllowUnclassed && host_class->ClassId == 0)
return true;
return false;
pass = true;
if (!pass)
return false;
}
// Prevent docking any window created above a popup

Loading…
Cancel
Save