mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-15 01:17:00 +00:00
Fixed CTRL+Tab dimming background assert when target window has a callback in the last ImDrawCmd. (#4857, #5937)
This commit is contained in:
parent
b32ef809c3
commit
140726d23f
@ -42,6 +42,8 @@ Breaking changes:
|
|||||||
|
|
||||||
Other changes:
|
Other changes:
|
||||||
|
|
||||||
|
- Fixed CTRL+Tab dimming background assert when target window has a callback
|
||||||
|
in the last ImDrawCmd. (#4857, #5937)
|
||||||
- InputText: Fixed a case where deactivation frame would write to underlying
|
- InputText: Fixed a case where deactivation frame would write to underlying
|
||||||
buffer or call CallbackResize although unnecessary, in a frame where the
|
buffer or call CallbackResize although unnecessary, in a frame where the
|
||||||
return value was false.
|
return value was false.
|
||||||
|
@ -4917,14 +4917,14 @@ static void ImGui::RenderDimmedBackgroundBehindWindow(ImGuiWindow* window, ImU32
|
|||||||
ImDrawList* draw_list = window->RootWindow->DrawList;
|
ImDrawList* draw_list = window->RootWindow->DrawList;
|
||||||
if (draw_list->CmdBuffer.Size == 0)
|
if (draw_list->CmdBuffer.Size == 0)
|
||||||
draw_list->AddDrawCmd();
|
draw_list->AddDrawCmd();
|
||||||
draw_list->PushClipRect(viewport_rect.Min - ImVec2(1, 1), viewport_rect.Max + ImVec2(1, 1), false); // Ensure ImDrawCmd are not merged
|
draw_list->PushClipRect(viewport_rect.Min - ImVec2(1, 1), viewport_rect.Max + ImVec2(1, 1), false); // FIXME: Need to stricty ensure ImDrawCmd are not merged (ElemCount==6 checks below will verify that)
|
||||||
draw_list->AddRectFilled(viewport_rect.Min, viewport_rect.Max, col);
|
draw_list->AddRectFilled(viewport_rect.Min, viewport_rect.Max, col);
|
||||||
ImDrawCmd cmd = draw_list->CmdBuffer.back();
|
ImDrawCmd cmd = draw_list->CmdBuffer.back();
|
||||||
IM_ASSERT(cmd.ElemCount == 6);
|
IM_ASSERT(cmd.ElemCount == 6);
|
||||||
draw_list->CmdBuffer.pop_back();
|
draw_list->CmdBuffer.pop_back();
|
||||||
draw_list->CmdBuffer.push_front(cmd);
|
draw_list->CmdBuffer.push_front(cmd);
|
||||||
draw_list->PopClipRect();
|
|
||||||
draw_list->AddDrawCmd(); // We need to create a command as CmdBuffer.back().IdxOffset won't be correct if we append to same command.
|
draw_list->AddDrawCmd(); // We need to create a command as CmdBuffer.back().IdxOffset won't be correct if we append to same command.
|
||||||
|
draw_list->PopClipRect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user