From 30d81f53cbdb73f88ab049d21fc7a00cf548c8c8 Mon Sep 17 00:00:00 2001 From: omar Date: Fri, 12 Apr 2019 22:16:59 +0200 Subject: [PATCH] PlotLines, PlotHistogram: Ignore NaN values when calculating min/max bounds. (#2485) --- docs/CHANGELOG.txt | 1 + imgui_widgets.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index ec24a20bf..f80d03290 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -49,6 +49,7 @@ Other Changes: - GetMouseDragDelta(): also returns the delta on the mouse button released frame. (#2419) - GetMouseDragDelta(): verify that mouse positions are valid otherwise returns zero. - Inputs: Also add support for horizontal scroll with Shift+Mouse Wheel. (#2424, #1463) [@LucaRood] +- PlotLines, PlotHistogram: Ignore NaN values when calculating min/max bounds. (#2485) - Misc: Added IM_MALLOC/IM_FREE macros mimicking IM_NEW/IM_DELETE so user doesn't need to revert to using the ImGui::MemAlloc()/MemFree() calls directly. - Examples: OpenGL: Added a dummy GL call + comments in ImGui_ImplOpenGL3_Init() to detect uninitialized diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index dcb911952..4008fa219 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -5577,6 +5577,8 @@ void ImGui::PlotEx(ImGuiPlotType plot_type, const char* label, float (*values_ge for (int i = 0; i < values_count; i++) { const float v = values_getter(data, i); + if (v != v) // Ignore NaN values + continue; v_min = ImMin(v_min, v); v_max = ImMax(v_max, v); }