diff --git a/hist/hist/src/TGraph2D.cxx b/hist/hist/src/TGraph2D.cxx index 2816d5c88bbf6..45a5241aa5420 100644 --- a/hist/hist/src/TGraph2D.cxx +++ b/hist/hist/src/TGraph2D.cxx @@ -598,7 +598,7 @@ TGraph2D& TGraph2D::operator=(const TGraph2D &g) void TGraph2D::Build(Int_t n) { - if (n <= 0) { + if (n < 0) { Error("TGraph2D", "Invalid number of points (%d)", n); return; } @@ -609,12 +609,18 @@ void TGraph2D::Build(Int_t n) fNpy = 40; fDirectory = nullptr; fHistogram = nullptr; - fDelaunay = nullptr; + fDelaunay = nullptr; fMaximum = -1111; fMinimum = -1111; - fX = new Double_t[fSize]; - fY = new Double_t[fSize]; - fZ = new Double_t[fSize]; + if (n>0) { + fX = new Double_t[fSize]; + fY = new Double_t[fSize]; + fZ = new Double_t[fSize]; + } else { + fX = nullptr; + fY = nullptr; + fZ = nullptr; + } fZout = 0; fMaxIter = 100000; fFunctions = new TList; diff --git a/hist/hist/src/TGraph2DAsymmErrors.cxx b/hist/hist/src/TGraph2DAsymmErrors.cxx index 772f427f4f3e5..0e4383847d8e2 100644 --- a/hist/hist/src/TGraph2DAsymmErrors.cxx +++ b/hist/hist/src/TGraph2DAsymmErrors.cxx @@ -82,17 +82,26 @@ TGraph2DAsymmErrors::TGraph2DAsymmErrors() {} TGraph2DAsymmErrors::TGraph2DAsymmErrors(Int_t n) : TGraph2D(n) { - if (n <= 0) { + if (n < 0) { Error("TGraph2DAsymmErrors", "Invalid number of points (%d)", n); return; } - fEXlow = new Double_t[n]; - fEXhigh = new Double_t[n]; - fEYlow = new Double_t[n]; - fEYhigh = new Double_t[n]; - fEZlow = new Double_t[n]; - fEZhigh = new Double_t[n]; + if (n>0) { + fEXlow = new Double_t[n]; + fEXhigh = new Double_t[n]; + fEYlow = new Double_t[n]; + fEYhigh = new Double_t[n]; + fEZlow = new Double_t[n]; + fEZhigh = new Double_t[n]; + } else { + fEXlow = nullptr; + fEXhigh = nullptr; + fEYlow = nullptr; + fEYhigh = nullptr; + fEZlow = nullptr; + fEZhigh = nullptr; + } for (Int_t i=0;i0) { + fEXlow = new Double_t[n]; + fEXhigh = new Double_t[n]; + fEYlow = new Double_t[n]; + fEYhigh = new Double_t[n]; + fEZlow = new Double_t[n]; + fEZhigh = new Double_t[n]; + } else { + fEXlow = nullptr; + fEXhigh = nullptr; + fEYlow = nullptr; + fEYhigh = nullptr; + fEZlow = nullptr; + fEZhigh = nullptr; + } for (Int_t i=0;i0) { + fEX = new Double_t[n]; + fEY = new Double_t[n]; + fEZ = new Double_t[n]; + } else { + fEX = nullptr; + fEY = nullptr; + fEZ = nullptr; + } for (Int_t i=0;i0) { + fEX = new Double_t[n]; + fEY = new Double_t[n]; + fEZ = new Double_t[n]; + } else { + fEX = nullptr; + fEY = nullptr; + fEZ = nullptr; + } for (Int_t i=0;i