mirror of
				https://github.com/ocornut/imgui.git
				synced 2025-11-04 01:34:32 +00:00 
			
		
		
		
	ImDrawList: Fixed a (rarely occuring) bug with merging with previous command + unnecessary OverlayDrawList command
This commit is contained in:
		@@ -2066,7 +2066,6 @@ void ImGui::NewFrame()
 | 
			
		||||
    g.OverlayDrawList.Clear();
 | 
			
		||||
    g.OverlayDrawList.PushTextureID(g.IO.Fonts->TexID);
 | 
			
		||||
    g.OverlayDrawList.PushClipRectFullScreen();
 | 
			
		||||
    g.OverlayDrawList.AddDrawCmd();
 | 
			
		||||
 | 
			
		||||
    // Mark rendering data as invalid to prevent user who may have a handle on it to use it
 | 
			
		||||
    g.RenderDrawData.Valid = false;
 | 
			
		||||
 
 | 
			
		||||
@@ -196,7 +196,7 @@ void ImDrawList::UpdateClipRect()
 | 
			
		||||
 | 
			
		||||
    // Try to merge with previous command if it matches, else use current command
 | 
			
		||||
    ImDrawCmd* prev_cmd = CmdBuffer.Size > 1 ? curr_cmd - 1 : NULL;
 | 
			
		||||
    if (prev_cmd && memcmp(&prev_cmd->ClipRect, &curr_clip_rect, sizeof(ImVec4)) == 0 && prev_cmd->TextureId == GetCurrentTextureId() && prev_cmd->UserCallback == NULL)
 | 
			
		||||
    if (curr_cmd->ElemCount == 0 && prev_cmd && memcmp(&prev_cmd->ClipRect, &curr_clip_rect, sizeof(ImVec4)) == 0 && prev_cmd->TextureId == GetCurrentTextureId() && prev_cmd->UserCallback == NULL)
 | 
			
		||||
        CmdBuffer.pop_back();
 | 
			
		||||
    else
 | 
			
		||||
        curr_cmd->ClipRect = curr_clip_rect;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user