mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Docking: Fixed a regression where clicking a Tab wouldn't immediately set NavWindow. Which led to breaking the NavSaveLastChildNavWindow/NavRestoreLastChildNavWindow logic. (#2109)
This commit is contained in:
		@@ -11018,10 +11018,6 @@ static void ImGui::DockNodeUpdateTabBar(ImGuiDockNode* node, ImGuiWindow* host_w
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // When clicked on a tab we requested focus to the docked child
 | 
			
		||||
    if (tab_bar->WantFocusTabId)
 | 
			
		||||
        focus_tab_id = tab_bar->WantFocusTabId;
 | 
			
		||||
 | 
			
		||||
    // When clicking on the title bar outside of tabs, we still focus the selected tab for that node
 | 
			
		||||
    if (g.HoveredWindow == host_window && g.HoveredId == 0 && IsMouseHoveringRect(title_bar_rect.Min, title_bar_rect.Max))
 | 
			
		||||
    {
 | 
			
		||||
@@ -11037,6 +11033,11 @@ static void ImGui::DockNodeUpdateTabBar(ImGuiDockNode* node, ImGuiWindow* host_w
 | 
			
		||||
    if (is_focused && g.NavWindow == host_window && !g.NavWindowingTarget)
 | 
			
		||||
        focus_tab_id = tab_bar->SelectedTabId;
 | 
			
		||||
 | 
			
		||||
    // When clicked on a tab we requested focus to the docked child
 | 
			
		||||
    // This overrides the value set by "forward focus from host node to selected window".
 | 
			
		||||
    if (tab_bar->WantFocusTabId)
 | 
			
		||||
        focus_tab_id = tab_bar->WantFocusTabId;
 | 
			
		||||
 | 
			
		||||
    // Apply navigation focus
 | 
			
		||||
    if (focus_tab_id != 0)
 | 
			
		||||
        if (ImGuiTabItem* tab = TabBarFindTabByID(tab_bar, focus_tab_id))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user