Tables: fixed an issue where Columns Visible/Hidden state wouldn't be correctly overridden when hot-reloading .ini state. (#7934)

This commit is contained in:
ocornut
2025-02-10 19:29:18 +01:00
parent 88cda0cab6
commit 4dc9df6aae
3 changed files with 6 additions and 3 deletions

View File

@@ -57,6 +57,8 @@ Other changes:
which amusingly made it disappear when using very big font/frame size. which amusingly made it disappear when using very big font/frame size.
- Tables: fixed calling SetNextWindowScroll() on clipped scrolling table - Tables: fixed calling SetNextWindowScroll() on clipped scrolling table
to not leak the value into a subsequent window. (#8196) to not leak the value into a subsequent window. (#8196)
- Tables: fixed an issue where Columns Visible/Hidden state wouldn't be correctly
overridden when hot-reloading .ini state. (#7934)
- TextLinkOpenURL(): fixed default Win32 io.PlatformOpenInShellFn handler to - TextLinkOpenURL(): fixed default Win32 io.PlatformOpenInShellFn handler to
handle UTF-8 regardless of system regional settings. (#7660) [@achabense] handle UTF-8 regardless of system regional settings. (#7660) [@achabense]
- Demo: Combos: demonstrate a very simple way to add a filter to a combo, - Demo: Combos: demonstrate a very simple way to add a filter to a combo,
@@ -67,6 +69,7 @@ Other changes:
- Backends: WebGPU: Fix for DAWN API rename WGPUProgrammableStageDescriptor -> WGPUComputeState. - Backends: WebGPU: Fix for DAWN API rename WGPUProgrammableStageDescriptor -> WGPUComputeState.
[@PhantomCloak] (#8369) [@PhantomCloak] (#8369)
----------------------------------------------------------------------- -----------------------------------------------------------------------
VERSION 1.91.8 (Released 2025-01-31) VERSION 1.91.8 (Released 2025-01-31)
----------------------------------------------------------------------- -----------------------------------------------------------------------

View File

@@ -2944,7 +2944,7 @@ struct ImGuiTableColumnSettings
ImGuiTableColumnIdx DisplayOrder; ImGuiTableColumnIdx DisplayOrder;
ImGuiTableColumnIdx SortOrder; ImGuiTableColumnIdx SortOrder;
ImU8 SortDirection : 2; ImU8 SortDirection : 2;
ImU8 IsEnabled : 1; // "Visible" in ini file ImS8 IsEnabled : 2; // "Visible" in ini file
ImU8 IsStretch : 1; ImU8 IsStretch : 1;
ImGuiTableColumnSettings() ImGuiTableColumnSettings()
@@ -2954,7 +2954,7 @@ struct ImGuiTableColumnSettings
Index = -1; Index = -1;
DisplayOrder = SortOrder = -1; DisplayOrder = SortOrder = -1;
SortDirection = ImGuiSortDirection_None; SortDirection = ImGuiSortDirection_None;
IsEnabled = 1; IsEnabled = -1;
IsStretch = 0; IsStretch = 0;
} }
}; };

View File

@@ -3741,7 +3741,7 @@ void ImGui::TableLoadSettings(ImGuiTable* table)
else else
column->DisplayOrder = (ImGuiTableColumnIdx)column_n; column->DisplayOrder = (ImGuiTableColumnIdx)column_n;
display_order_mask |= (ImU64)1 << column->DisplayOrder; display_order_mask |= (ImU64)1 << column->DisplayOrder;
column->IsUserEnabled = column->IsUserEnabledNextFrame = column_settings->IsEnabled; column->IsUserEnabled = column->IsUserEnabledNextFrame = (column_settings->IsEnabled != -1 ? column_settings->IsEnabled == 1 : (column->Flags & ImGuiTableColumnFlags_DefaultHide) ? 0 : 1);
column->SortOrder = column_settings->SortOrder; column->SortOrder = column_settings->SortOrder;
column->SortDirection = column_settings->SortDirection; column->SortDirection = column_settings->SortDirection;
} }