mirror of
https://github.com/Drezil/imgui.git
synced 2024-12-23 16:16:36 +00:00
Docking: Fixed a bug where the tab bar of a hidden dockspace would keep requesting focus. (#2960)
This commit is contained in:
parent
c163b856d7
commit
3b1b5266e5
@ -13703,6 +13703,12 @@ void ImGui::DockSpace(ImGuiID id, const ImVec2& size_arg, ImGuiDockNodeFlags fla
|
|||||||
if (!(g.IO.ConfigFlags & ImGuiConfigFlags_DockingEnable))
|
if (!(g.IO.ConfigFlags & ImGuiConfigFlags_DockingEnable))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// Early out if parent window is hidden/collapsed
|
||||||
|
// This is faster but also DockNodeUpdateTabBar() relies on TabBarLayout() running (which won't if SkipItems=true) to set NextSelectedTabId = 0). See #2960.
|
||||||
|
// If for whichever reason this is causing problem we would need to ensure that DockNodeUpdateTabBar() ends up clearing NextSelectedTabId even if SkipItems=true.
|
||||||
|
if (window->SkipItems)
|
||||||
|
flags |= ImGuiDockNodeFlags_KeepAliveOnly;
|
||||||
|
|
||||||
IM_ASSERT((flags & ImGuiDockNodeFlags_DockSpace) == 0);
|
IM_ASSERT((flags & ImGuiDockNodeFlags_DockSpace) == 0);
|
||||||
ImGuiDockNode* node = DockContextFindNodeByID(ctx, id);
|
ImGuiDockNode* node = DockContextFindNodeByID(ctx, id);
|
||||||
if (!node)
|
if (!node)
|
||||||
|
Loading…
Reference in New Issue
Block a user