Skip to content

Commit

Permalink
Clipper, Tables: remove table specific code path should now be ok (ad…
Browse files Browse the repository at this point in the history
…ded assert).
  • Loading branch information
ocornut committed Dec 6, 2021
1 parent 926addb commit 20e040c
Showing 1 changed file with 4 additions and 13 deletions.
17 changes: 4 additions & 13 deletions imgui.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2472,20 +2472,11 @@ bool ImGuiListClipper::Step()
if (ItemsHeight <= 0.0f)
{
IM_ASSERT(data->StepNo == 1);
bool affected_by_floating_point_precision = false;
if (table)
{
const float pos_y1 = table->RowPosY1; // Using RowPosY1 instead of StartPosY to handle clipper straddling the frozen row
const float pos_y2 = table->RowPosY2; // Using RowPosY2 instead of CursorPos.y to take account of tallest cell.
ItemsHeight = pos_y2 - pos_y1;
window->DC.CursorPos.y = pos_y2;
affected_by_floating_point_precision = ImIsFloatAboveGuaranteedIntegerPrecision(pos_y1) || ImIsFloatAboveGuaranteedIntegerPrecision(pos_y2);
}
else
{
ItemsHeight = (window->DC.CursorPos.y - StartPosY) / (float)(DisplayEnd - DisplayStart);
affected_by_floating_point_precision = ImIsFloatAboveGuaranteedIntegerPrecision(StartPosY) || ImIsFloatAboveGuaranteedIntegerPrecision(window->DC.CursorPos.y);
}
IM_ASSERT(table->RowPosY1 == StartPosY && table->RowPosY2 == window->DC.CursorPos.y);

ItemsHeight = (window->DC.CursorPos.y - StartPosY) / (float)(DisplayEnd - DisplayStart);
float affected_by_floating_point_precision = ImIsFloatAboveGuaranteedIntegerPrecision(StartPosY) || ImIsFloatAboveGuaranteedIntegerPrecision(window->DC.CursorPos.y);
if (affected_by_floating_point_precision)
ItemsHeight = window->DC.PrevLineSize.y + g.Style.ItemSpacing.y; // FIXME: Technically wouldn't allow multi-line entries.

Expand Down

0 comments on commit 20e040c

Please sign in to comment.