From a3b00b79f2913a854e3d4c63de4cd03fba56739e Mon Sep 17 00:00:00 2001 From: ocornut Date: Sat, 30 Jan 2016 16:37:30 +0100 Subject: [PATCH] Fixed removal of trailing draw command if it is a callback command --- imgui.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/imgui.cpp b/imgui.cpp index 52e9c375..8ce256c9 100644 --- a/imgui.cpp +++ b/imgui.cpp @@ -2278,8 +2278,11 @@ static void AddDrawListToRenderList(ImVector& out_render_list, ImDr { if (!draw_list->CmdBuffer.empty() && !draw_list->VtxBuffer.empty()) { - if (draw_list->CmdBuffer.back().ElemCount == 0) + // Remove trailing command if unused + ImDrawCmd& last_cmd = draw_list->CmdBuffer.back(); + if (last_cmd.ElemCount == 0 && last_cmd.UserCallback == NULL) draw_list->CmdBuffer.pop_back(); + out_render_list.push_back(draw_list); // Check that draw_list doesn't use more vertices than indexable (default ImDrawIdx = 2 bytes = 64K vertices)