diff --git a/qucs/diagrams/diagram.cpp b/qucs/diagrams/diagram.cpp index ff53c9ab6..54354991f 100644 --- a/qucs/diagrams/diagram.cpp +++ b/qucs/diagrams/diagram.cpp @@ -859,7 +859,10 @@ int Graph::loadDatFile(const QString &fileName) { qDeleteAll(g->mutable_axes()); g->mutable_axes().clear(); g->countY = 0; - delete[] g->cPointsY; + if (g->cPointsY != nullptr) { + delete[] g->cPointsY; + g->cPointsY = nullptr; + } if (Variable.isEmpty()) return 0; #if 0 // FIXME encapsulation. implement digital waves later. diff --git a/qucs/diagrams/graph.cpp b/qucs/diagrams/graph.cpp index 18785bf2b..72b7a7708 100644 --- a/qucs/diagrams/graph.cpp +++ b/qucs/diagrams/graph.cpp @@ -48,8 +48,11 @@ Graph::Graph(Diagram const* d, const QString& _Line) : Graph::~Graph() { + if (cPointsY != nullptr) { delete[] cPointsY; - qDeleteAll(cPointsX); + cPointsY = nullptr; + } + qDeleteAll(cPointsX); } // ---------------------------------------------------------------------