Docking, Tabs: toggling tab bar visibility marks saved settings as dirty. (#9380)

+ tweak/improve packing for ImGuiDockNode.
This commit is contained in:
ocornut
2026-04-27 16:53:57 +02:00
parent 417f5ed66d
commit ed9d1e7427
3 changed files with 7 additions and 2 deletions

View File

@@ -18922,10 +18922,13 @@ static void ImGui::DockNodeUpdateFlagsAndCollapse(ImGuiDockNode* node)
node->WantHiddenTabBarToggle = false;
// Apply toggles at a single point of the frame (here!)
const ImGuiDockNodeFlags prev_local_flags = node->LocalFlags;
if (node->Windows.Size > 1)
node->SetLocalFlags(node->LocalFlags & ~ImGuiDockNodeFlags_HiddenTabBar);
else if (node->WantHiddenTabBarToggle)
node->SetLocalFlags(node->LocalFlags ^ ImGuiDockNodeFlags_HiddenTabBar);
if ((node->LocalFlags ^ prev_local_flags) & ImGuiDockNodeFlags_SavedFlagsMask_)
MarkIniSettingsDirty(); // Bit flaky to only do this here. Perhaps compare node flags every frame? #9380
node->WantHiddenTabBarToggle = false;
DockNodeUpdateVisibleFlag(node);