mirror of
https://github.com/ocornut/imgui.git
synced 2024-11-16 03:53:28 +01:00
Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.
Could merge on master.
This commit is contained in:
parent
8eb8689391
commit
37958ca1b5
@ -235,6 +235,7 @@ Docking+Viewports Branch:
|
|||||||
- Docking: Tabs use their own identifier instead of the Window identifier.
|
- Docking: Tabs use their own identifier instead of the Window identifier.
|
||||||
(This will invalidate some stored .ini data such as last selected tab, sorry!)
|
(This will invalidate some stored .ini data such as last selected tab, sorry!)
|
||||||
- Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).
|
- Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).
|
||||||
|
- Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.
|
||||||
- Viewports, IO: Added io.AddMouseViewportEvent() function to queue hovered viewport change (when known by backend).
|
- Viewports, IO: Added io.AddMouseViewportEvent() function to queue hovered viewport change (when known by backend).
|
||||||
- Viewports: Relaxed specs for backend supporting ImGuiBackendFlags_HasMouseHoveredViewport: it is now _optional_
|
- Viewports: Relaxed specs for backend supporting ImGuiBackendFlags_HasMouseHoveredViewport: it is now _optional_
|
||||||
for the backend to have to ignore viewports with the _NoInputs flag when call io.AddMouseViewportEvent(). It is
|
for the backend to have to ignore viewports with the _NoInputs flag when call io.AddMouseViewportEvent(). It is
|
||||||
|
@ -6964,7 +6964,6 @@ 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);
|
||||||
|
|
||||||
@ -7125,6 +7124,10 @@ 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.
|
||||||
|
if (!window->SkipItems)
|
||||||
|
window->DC.NavLayersActiveMaskNext = 0x00;
|
||||||
|
|
||||||
// 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
|
||||||
// - in BeginDocked() path when DockNodeIsVisible == DockTabIsVisible == true -> hidden _should_ be all zero // FIXME: Not formally proven, hence the assert.
|
// - in BeginDocked() path when DockNodeIsVisible == DockTabIsVisible == true -> hidden _should_ be all zero // FIXME: Not formally proven, hence the assert.
|
||||||
|
Loading…
Reference in New Issue
Block a user