|
@@ -12247,15 +12247,14 @@ static void ImGui::NavUpdateCancelRequest()
|
|
|
NavRestoreLayer(ImGuiNavLayer_Main);
|
|
|
NavRestoreHighlightAfterMove();
|
|
|
}
|
|
|
- else if (g.NavWindow && g.NavWindow != g.NavWindow->RootWindow && !(g.NavWindow->Flags & ImGuiWindowFlags_Popup) && g.NavWindow->ParentWindow)
|
|
|
+ else if (g.NavWindow && g.NavWindow != g.NavWindow->RootWindow && !(g.NavWindow->RootWindowForNav->Flags & ImGuiWindowFlags_Popup) && g.NavWindow->RootWindowForNav->ParentWindow)
|
|
|
{
|
|
|
// Exit child window
|
|
|
- ImGuiWindow* child_window = g.NavWindow;
|
|
|
- ImGuiWindow* parent_window = g.NavWindow->ParentWindow;
|
|
|
+ ImGuiWindow* child_window = g.NavWindow->RootWindowForNav;
|
|
|
+ ImGuiWindow* parent_window = child_window->ParentWindow;
|
|
|
IM_ASSERT(child_window->ChildId != 0);
|
|
|
- ImRect child_rect = child_window->Rect();
|
|
|
FocusWindow(parent_window);
|
|
|
- SetNavID(child_window->ChildId, ImGuiNavLayer_Main, 0, WindowRectAbsToRel(parent_window, child_rect));
|
|
|
+ SetNavID(child_window->ChildId, ImGuiNavLayer_Main, 0, WindowRectAbsToRel(parent_window, child_window->Rect()));
|
|
|
NavRestoreHighlightAfterMove();
|
|
|
}
|
|
|
else if (g.OpenPopupStack.Size > 0 && g.OpenPopupStack.back().Window != NULL && !(g.OpenPopupStack.back().Window->Flags & ImGuiWindowFlags_Modal))
|