Browse Source

ImDrawList: Fixed CloneOutput() helper crashing. Also removed unnecessary risk from ImDrawList::Clear(), draw lists are being clear before use each frame anyway. (#1860)

pull/2631/head
omar 5 years ago
parent
commit
b82e99c032
  1. 3
      docs/CHANGELOG.txt
  2. 4
      imgui_draw.cpp

3
docs/CHANGELOG.txt

@ -42,7 +42,8 @@ Breaking Changes:
the new names and equivalent. the new names and equivalent.
Other Changes: Other Changes:
- ImDrawList::ChannelsSplit(), ImDrawListSlitter: Fixed an issue with merging draw commands between channel 0 and 1. (#2624) - ImDrawList: Fixed CloneOutput() helper crashing. (#1860) [@gviot]
- ImDrawListSlitter, ImDrawList::ChannelsSplit(), : Fixed an issue with merging draw commands between channel 0 and 1. (#2624)
----------------------------------------------------------------------- -----------------------------------------------------------------------

4
imgui_draw.cpp

@ -365,7 +365,7 @@ void ImDrawList::Clear()
CmdBuffer.resize(0); CmdBuffer.resize(0);
IdxBuffer.resize(0); IdxBuffer.resize(0);
VtxBuffer.resize(0); VtxBuffer.resize(0);
Flags = _Data->InitialFlags; Flags = _Data ? _Data->InitialFlags : ImDrawListFlags_None;
_VtxCurrentOffset = 0; _VtxCurrentOffset = 0;
_VtxCurrentIdx = 0; _VtxCurrentIdx = 0;
_VtxWritePtr = NULL; _VtxWritePtr = NULL;
@ -392,7 +392,7 @@ void ImDrawList::ClearFreeMemory()
ImDrawList* ImDrawList::CloneOutput() const ImDrawList* ImDrawList::CloneOutput() const
{ {
ImDrawList* dst = IM_NEW(ImDrawList(NULL)); ImDrawList* dst = IM_NEW(ImDrawList(_Data));
dst->CmdBuffer = CmdBuffer; dst->CmdBuffer = CmdBuffer;
dst->IdxBuffer = IdxBuffer; dst->IdxBuffer = IdxBuffer;
dst->VtxBuffer = VtxBuffer; dst->VtxBuffer = VtxBuffer;

Loading…
Cancel
Save