From da9bf720aa8709331207a628eb31cae4dbd28c97 Mon Sep 17 00:00:00 2001 From: koldo Date: Sat, 17 Feb 2018 14:32:33 +0000 Subject: [PATCH] ScatterDraw: Added error checking in MaxSubDataImp() git-svn-id: svn://ultimatepp.org/upp/trunk@11785 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/ScatterDraw/DataSource.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/uppsrc/ScatterDraw/DataSource.cpp b/uppsrc/ScatterDraw/DataSource.cpp index ce9c07c51..f1dbc1f24 100644 --- a/uppsrc/ScatterDraw/DataSource.cpp +++ b/uppsrc/ScatterDraw/DataSource.cpp @@ -94,11 +94,12 @@ Pointf DataSource::MaxSubDataImp(Getdatafun getdataY, Getdatafun getdataX, int64 } VectorPointf pf(p); PolynomialEquation2 polyFit; - polyFit.Fit(pf); + if (ExplicitEquation::NoError != polyFit.Fit(pf)) + return Null; const Vector &coeff = polyFit.GetCoeff(); double b = coeff[1]; double a = coeff[2]; - if (IsNull(a) || a < 1E-10) + if (IsNull(a) || fabs(a) < 1E-10) return Null; return Pointf(-b/2/a, polyFit.f(-b/2/a)); }