Skip to content

Commit

Permalink
ImDrawList: Fix broken channel splitting (another issue when the firs…
Browse files Browse the repository at this point in the history
…t channel is empty) (#2591) + fixed warnings with newer VS
  • Loading branch information
ocornut committed May 31, 2019
1 parent bff7202 commit 8abf131
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions imgui_draw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ Index of this file:

// Visual Studio warnings
#ifdef _MSC_VER
#pragma warning (disable: 4127) // condition expression is constant
#pragma warning (disable: 4505) // unreferenced local function has been removed (stb stuff)
#pragma warning (disable: 4996) // 'This function or variable may be unsafe': strcpy, strdup, sprintf, vsnprintf, sscanf, fopen
#endif
Expand Down Expand Up @@ -565,13 +566,13 @@ void ImDrawList::ChannelsMerge()
return;

ChannelsSetCurrent(0);
if (CmdBuffer.Size && CmdBuffer.back().ElemCount == 0)
if (CmdBuffer.Size != 0 && CmdBuffer.back().ElemCount == 0)
CmdBuffer.pop_back();

// Calculate our final buffer sizes. Also fix the incorrect IdxOffset values in each command.
int new_cmd_buffer_count = 0;
int new_idx_buffer_count = 0;
int idx_offset = CmdBuffer.back().IdxOffset + CmdBuffer.back().ElemCount;
int idx_offset = (CmdBuffer.Size != 0) ? (CmdBuffer.back().IdxOffset + CmdBuffer.back().ElemCount) : 0;
for (int i = 1; i < _ChannelsCount; i++)
{
ImDrawChannel& ch = _Channels[i];
Expand Down

0 comments on commit 8abf131

Please sign in to comment.