mirror of
https://github.com/ocornut/imgui.git
synced 2025-01-31 12:03:49 +01:00
Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer (#5463, #4792)
Fix 37958ca
This commit is contained in:
parent
21fc57f2cf
commit
77637fd936
@ -133,6 +133,8 @@ Other Changes:
|
|||||||
|
|
||||||
Docking+Viewports Branch:
|
Docking+Viewports Branch:
|
||||||
|
|
||||||
|
- Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer when
|
||||||
|
it only contained the standard Collapse/Close buttons and no actual menu. (#5463, #4792)
|
||||||
- Backends: GLFW: Fixed leftover static variable preventing from changing or
|
- Backends: GLFW: Fixed leftover static variable preventing from changing or
|
||||||
reinitializing backend while application is running. (#4616, #5434) [@rtoumazet]
|
reinitializing backend while application is running. (#4616, #5434) [@rtoumazet]
|
||||||
|
|
||||||
|
@ -7061,6 +7061,7 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
|||||||
|
|
||||||
window->DC.NavLayerCurrent = ImGuiNavLayer_Main;
|
window->DC.NavLayerCurrent = ImGuiNavLayer_Main;
|
||||||
window->DC.NavLayersActiveMask = window->DC.NavLayersActiveMaskNext;
|
window->DC.NavLayersActiveMask = window->DC.NavLayersActiveMaskNext;
|
||||||
|
window->DC.NavLayersActiveMaskNext = 0x00;
|
||||||
window->DC.NavHideHighlightOneFrame = false;
|
window->DC.NavHideHighlightOneFrame = false;
|
||||||
window->DC.NavHasScroll = (window->ScrollMax.y > 0.0f);
|
window->DC.NavHasScroll = (window->ScrollMax.y > 0.0f);
|
||||||
|
|
||||||
@ -7221,9 +7222,9 @@ bool ImGui::Begin(const char* name, bool* p_open, ImGuiWindowFlags flags)
|
|||||||
skip_items = true;
|
skip_items = true;
|
||||||
window->SkipItems = skip_items;
|
window->SkipItems = skip_items;
|
||||||
|
|
||||||
// Only clear NavLayersActiveMaskNext when marked as visible, so a CTRL+Tab back can use a safe value.
|
// Restore NavLayersActiveMaskNext to previous value when not visible, so a CTRL+Tab back can use a safe value.
|
||||||
if (!window->SkipItems)
|
if (window->SkipItems)
|
||||||
window->DC.NavLayersActiveMaskNext = 0x00;
|
window->DC.NavLayersActiveMaskNext = window->DC.NavLayersActiveMask;
|
||||||
|
|
||||||
// Sanity check: there are two spots which can set Appearing = true
|
// Sanity check: there are two spots which can set Appearing = true
|
||||||
// - when 'window_just_activated_by_user' is set -> HiddenFramesCannotSkipItems is set -> SkipItems always false
|
// - when 'window_just_activated_by_user' is set -> HiddenFramesCannotSkipItems is set -> SkipItems always false
|
||||||
|
Loading…
x
Reference in New Issue
Block a user