Tables, Nav: fixed navigation within scrolling tables when item boundaries goes beyond columns limits. (#8816, #2221)

Amend 00d3f9295e.
This commit is contained in:
ocornut
2025-08-11 10:47:55 +02:00
parent ea075ed973
commit 47c41483bd
3 changed files with 6 additions and 2 deletions

View File

@@ -81,6 +81,9 @@ Other Changes:
- Tabs: fixed tab bar underline not drawing below scroll buttons, when - Tabs: fixed tab bar underline not drawing below scroll buttons, when
they are enabled (minor regression from 1.90). (#6820, #4859, #5022, #5239) they are enabled (minor regression from 1.90). (#6820, #4859, #5022, #5239)
- Tabs: made scrolling buttons never keyboard/gamepad navigation candidates. - Tabs: made scrolling buttons never keyboard/gamepad navigation candidates.
- Nav, Tables: fixed navigation within scrolling tables when item boundaries
goes beyond columns limits. The fix done in 1.89.6 didn't work correctly
on scrolling windows. (#8816, #2221)
- Nav: fixed a bug where GamepadMenu button couldn't toggle between main and - Nav: fixed a bug where GamepadMenu button couldn't toggle between main and
menu layers while navigating a Modal window. (#8834) menu layers while navigating a Modal window. (#8834)
- Error Handling: minor improvements to error handling for TableGetSortSpecs() - Error Handling: minor improvements to error handling for TableGetSortSpecs()

View File

@@ -24,7 +24,7 @@
// For first-time users having issues compiling/linking/running: // For first-time users having issues compiling/linking/running:
// please post in https://github.com/ocornut/imgui/discussions if you cannot find a solution in resources above. // please post in https://github.com/ocornut/imgui/discussions if you cannot find a solution in resources above.
// Everything else should be asked in 'Issues'! We are building a database of cross-linked knowledge there. // Everything else should be asked in 'Issues'! We are building a database of cross-linked knowledge there.
// Since 1.92, we encourage font loading question to also be posted in 'Issues'. // Since 1.92, we encourage font loading questions to also be posted in 'Issues'.
// Copyright (c) 2014-2025 Omar Cornut // Copyright (c) 2014-2025 Omar Cornut
// Developed by Omar Cornut and every direct or indirect contributors to the GitHub. // Developed by Omar Cornut and every direct or indirect contributors to the GitHub.
@@ -13746,6 +13746,7 @@ void ImGui::NavUpdateCreateMoveRequest()
} }
} }
// Prepare scoring rectangle.
// For scoring we use a single segment on the left side our current item bounding box (not touching the edge to avoid box overlap with zero-spaced items) // For scoring we use a single segment on the left side our current item bounding box (not touching the edge to avoid box overlap with zero-spaced items)
ImRect scoring_rect; ImRect scoring_rect;
if (window != NULL) if (window != NULL)

View File

@@ -542,7 +542,7 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG
// Make table current // Make table current
g.CurrentTable = table; g.CurrentTable = table;
outer_window->DC.NavIsScrollPushableX = false; // Shortcut for NavUpdateCurrentWindowIsScrollPushableX(); inner_window->DC.NavIsScrollPushableX = false; // Shortcut for NavUpdateCurrentWindowIsScrollPushableX();
outer_window->DC.CurrentTableIdx = table_idx; outer_window->DC.CurrentTableIdx = table_idx;
if (inner_window != outer_window) // So EndChild() within the inner window can restore the table properly. if (inner_window != outer_window) // So EndChild() within the inner window can restore the table properly.
inner_window->DC.CurrentTableIdx = table_idx; inner_window->DC.CurrentTableIdx = table_idx;