mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
(regresion from 1.89) + removed unnecessary if block in NavProcessItem()
This commit is contained in:
		
							
								
								
									
										19
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								imgui.cpp
									
									
									
									
									
								
							@@ -10758,18 +10758,15 @@ static void ImGui::NavProcessItem()
 | 
			
		||||
        else if ((g.NavId != id || (g.NavMoveFlags & ImGuiNavMoveFlags_AllowCurrentNavId)) && !(item_flags & ImGuiItemFlags_Disabled))
 | 
			
		||||
        {
 | 
			
		||||
            ImGuiNavItemData* result = (window == g.NavWindow) ? &g.NavMoveResultLocal : &g.NavMoveResultOther;
 | 
			
		||||
            if (!is_tabbing)
 | 
			
		||||
            {
 | 
			
		||||
                if (NavScoreItem(result))
 | 
			
		||||
                    NavApplyItemToResult(result);
 | 
			
		||||
            if (NavScoreItem(result))
 | 
			
		||||
                NavApplyItemToResult(result);
 | 
			
		||||
 | 
			
		||||
                // Features like PageUp/PageDown need to maintain a separate score for the visible set of items.
 | 
			
		||||
                const float VISIBLE_RATIO = 0.70f;
 | 
			
		||||
                if ((g.NavMoveFlags & ImGuiNavMoveFlags_AlsoScoreVisibleSet) && window->ClipRect.Overlaps(nav_bb))
 | 
			
		||||
                    if (ImClamp(nav_bb.Max.y, window->ClipRect.Min.y, window->ClipRect.Max.y) - ImClamp(nav_bb.Min.y, window->ClipRect.Min.y, window->ClipRect.Max.y) >= (nav_bb.Max.y - nav_bb.Min.y) * VISIBLE_RATIO)
 | 
			
		||||
                        if (NavScoreItem(&g.NavMoveResultLocalVisible))
 | 
			
		||||
                            NavApplyItemToResult(&g.NavMoveResultLocalVisible);
 | 
			
		||||
            }
 | 
			
		||||
            // Features like PageUp/PageDown need to maintain a separate score for the visible set of items.
 | 
			
		||||
            const float VISIBLE_RATIO = 0.70f;
 | 
			
		||||
            if ((g.NavMoveFlags & ImGuiNavMoveFlags_AlsoScoreVisibleSet) && window->ClipRect.Overlaps(nav_bb))
 | 
			
		||||
                if (ImClamp(nav_bb.Max.y, window->ClipRect.Min.y, window->ClipRect.Max.y) - ImClamp(nav_bb.Min.y, window->ClipRect.Min.y, window->ClipRect.Max.y) >= (nav_bb.Max.y - nav_bb.Min.y) * VISIBLE_RATIO)
 | 
			
		||||
                    if (NavScoreItem(&g.NavMoveResultLocalVisible))
 | 
			
		||||
                        NavApplyItemToResult(&g.NavMoveResultLocalVisible);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user