mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-04 15:11:05 +01:00 
			
		
		
		
	Minor optimization so that mass-calling BeginPopupContext* functions can early out more commonly without hashing ID
This commit is contained in:
		@@ -3208,7 +3208,8 @@ void ImGui::CloseCurrentPopup()
 | 
			
		||||
static inline void ClearSetNextWindowData()
 | 
			
		||||
{
 | 
			
		||||
    ImGuiState& g = *GImGui;
 | 
			
		||||
    g.SetNextWindowPosCond = g.SetNextWindowSizeCond = g.SetNextWindowContentSizeCond = g.SetNextWindowCollapsedCond = g.SetNextWindowFocus = 0;
 | 
			
		||||
    g.SetNextWindowPosCond = g.SetNextWindowSizeCond = g.SetNextWindowContentSizeCond = g.SetNextWindowCollapsedCond = 0;
 | 
			
		||||
    g.SetNextWindowFocus = false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static bool BeginPopupEx(const char* str_id, ImGuiWindowFlags extra_flags)
 | 
			
		||||
@@ -3243,6 +3244,11 @@ static bool BeginPopupEx(const char* str_id, ImGuiWindowFlags extra_flags)
 | 
			
		||||
 | 
			
		||||
bool ImGui::BeginPopup(const char* str_id)
 | 
			
		||||
{
 | 
			
		||||
    if (GImGui->OpenedPopupStack.Size <= GImGui->CurrentPopupStack.Size)	// Early out for performance
 | 
			
		||||
    {
 | 
			
		||||
        ClearSetNextWindowData(); // We behave like Begin() and need to consume those values
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return BeginPopupEx(str_id, ImGuiWindowFlags_ShowBorders);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user