From 541d3d2eac78a042db230180db4b8589c16a91e1 Mon Sep 17 00:00:00 2001 From: dismine Date: Fri, 26 Dec 2014 15:56:07 +0200 Subject: [PATCH] Fixed issue #214. --HG-- branch : develop --- src/app/dialogs/tools/dialogalongline.cpp | 5 ++++- src/app/dialogs/tools/dialogarc.cpp | 5 ++++- src/app/dialogs/tools/dialogbisector.cpp | 5 ++++- src/app/dialogs/tools/dialogcurveintersectaxis.cpp | 5 ++++- src/app/dialogs/tools/dialogcutarc.cpp | 5 ++++- src/app/dialogs/tools/dialogcutspline.cpp | 5 ++++- src/app/dialogs/tools/dialogcutsplinepath.cpp | 5 ++++- src/app/dialogs/tools/dialogendline.cpp | 5 ++++- src/app/dialogs/tools/dialogheight.cpp | 5 ++++- src/app/dialogs/tools/dialogline.cpp | 5 ++++- src/app/dialogs/tools/dialoglineintersect.cpp | 5 ++++- src/app/dialogs/tools/dialoglineintersectaxis.cpp | 5 ++++- src/app/dialogs/tools/dialognormal.cpp | 5 ++++- src/app/dialogs/tools/dialogpointofcontact.cpp | 5 ++++- src/app/dialogs/tools/dialogpointofintersection.cpp | 5 ++++- src/app/dialogs/tools/dialogshoulderpoint.cpp | 5 ++++- src/app/dialogs/tools/dialogspline.cpp | 5 ++++- src/app/dialogs/tools/dialogsplinepath.cpp | 5 ++++- src/app/dialogs/tools/dialogtriangle.cpp | 5 ++++- 19 files changed, 76 insertions(+), 19 deletions(-) diff --git a/src/app/dialogs/tools/dialogalongline.cpp b/src/app/dialogs/tools/dialogalongline.cpp index eea51a13c..b818b2744 100644 --- a/src/app/dialogs/tools/dialogalongline.cpp +++ b/src/app/dialogs/tools/dialogalongline.cpp @@ -123,7 +123,10 @@ void DialogAlongLine::DeployFormulaTextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogAlongLine::~DialogAlongLine() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogarc.cpp b/src/app/dialogs/tools/dialogarc.cpp index 00eef7b31..045f0c2be 100644 --- a/src/app/dialogs/tools/dialogarc.cpp +++ b/src/app/dialogs/tools/dialogarc.cpp @@ -117,7 +117,10 @@ void DialogArc::DeployF2TextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogArc::~DialogArc() { - delete path; + if (qApp->getCurrentScene()->items().contains(path)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete path; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogbisector.cpp b/src/app/dialogs/tools/dialogbisector.cpp index cbcdedfee..791ca123c 100644 --- a/src/app/dialogs/tools/dialogbisector.cpp +++ b/src/app/dialogs/tools/dialogbisector.cpp @@ -132,7 +132,10 @@ void DialogBisector::DeployFormulaTextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogBisector::~DialogBisector() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogcurveintersectaxis.cpp b/src/app/dialogs/tools/dialogcurveintersectaxis.cpp index 34e85644e..17c5f87bd 100644 --- a/src/app/dialogs/tools/dialogcurveintersectaxis.cpp +++ b/src/app/dialogs/tools/dialogcurveintersectaxis.cpp @@ -72,7 +72,10 @@ DialogCurveIntersectAxis::DialogCurveIntersectAxis(const VContainer *data, const //--------------------------------------------------------------------------------------------------------------------- DialogCurveIntersectAxis::~DialogCurveIntersectAxis() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogcutarc.cpp b/src/app/dialogs/tools/dialogcutarc.cpp index c5fc282b2..247e02dd2 100644 --- a/src/app/dialogs/tools/dialogcutarc.cpp +++ b/src/app/dialogs/tools/dialogcutarc.cpp @@ -97,7 +97,10 @@ void DialogCutArc::DeployFormulaTextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogCutArc::~DialogCutArc() { - delete path; + if (qApp->getCurrentScene()->items().contains(path)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete path; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogcutspline.cpp b/src/app/dialogs/tools/dialogcutspline.cpp index 7c739fa99..7ed289dcc 100644 --- a/src/app/dialogs/tools/dialogcutspline.cpp +++ b/src/app/dialogs/tools/dialogcutspline.cpp @@ -71,7 +71,10 @@ DialogCutSpline::DialogCutSpline(const VContainer *data, const quint32 &toolId, //--------------------------------------------------------------------------------------------------------------------- DialogCutSpline::~DialogCutSpline() { - delete path; + if (qApp->getCurrentScene()->items().contains(path)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete path; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogcutsplinepath.cpp b/src/app/dialogs/tools/dialogcutsplinepath.cpp index 5dd32cce1..6367feae9 100644 --- a/src/app/dialogs/tools/dialogcutsplinepath.cpp +++ b/src/app/dialogs/tools/dialogcutsplinepath.cpp @@ -71,7 +71,10 @@ DialogCutSplinePath::DialogCutSplinePath(const VContainer *data, const quint32 & //--------------------------------------------------------------------------------------------------------------------- DialogCutSplinePath::~DialogCutSplinePath() { - delete path; + if (qApp->getCurrentScene()->items().contains(path)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete path; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogendline.cpp b/src/app/dialogs/tools/dialogendline.cpp index 3c13c3dfe..8da548990 100644 --- a/src/app/dialogs/tools/dialogendline.cpp +++ b/src/app/dialogs/tools/dialogendline.cpp @@ -302,6 +302,9 @@ void DialogEndLine::closeEvent(QCloseEvent *event) //--------------------------------------------------------------------------------------------------------------------- DialogEndLine::~DialogEndLine() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogheight.cpp b/src/app/dialogs/tools/dialogheight.cpp index 510096af3..573906e79 100644 --- a/src/app/dialogs/tools/dialogheight.cpp +++ b/src/app/dialogs/tools/dialogheight.cpp @@ -69,7 +69,10 @@ DialogHeight::DialogHeight(const VContainer *data, const quint32 &toolId, QWidge //--------------------------------------------------------------------------------------------------------------------- DialogHeight::~DialogHeight() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogline.cpp b/src/app/dialogs/tools/dialogline.cpp index 2fd77ef24..287055246 100644 --- a/src/app/dialogs/tools/dialogline.cpp +++ b/src/app/dialogs/tools/dialogline.cpp @@ -66,7 +66,10 @@ DialogLine::DialogLine(const VContainer *data, const quint32 &toolId, QWidget *p //--------------------------------------------------------------------------------------------------------------------- DialogLine::~DialogLine() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialoglineintersect.cpp b/src/app/dialogs/tools/dialoglineintersect.cpp index 030d66b38..ae45b1589 100644 --- a/src/app/dialogs/tools/dialoglineintersect.cpp +++ b/src/app/dialogs/tools/dialoglineintersect.cpp @@ -72,7 +72,10 @@ DialogLineIntersect::DialogLineIntersect(const VContainer *data, const quint32 & //--------------------------------------------------------------------------------------------------------------------- DialogLineIntersect::~DialogLineIntersect() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialoglineintersectaxis.cpp b/src/app/dialogs/tools/dialoglineintersectaxis.cpp index baf4b44db..7264e2a31 100644 --- a/src/app/dialogs/tools/dialoglineintersectaxis.cpp +++ b/src/app/dialogs/tools/dialoglineintersectaxis.cpp @@ -81,7 +81,10 @@ DialogLineIntersectAxis::DialogLineIntersectAxis(const VContainer *data, const q //--------------------------------------------------------------------------------------------------------------------- DialogLineIntersectAxis::~DialogLineIntersectAxis() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialognormal.cpp b/src/app/dialogs/tools/dialognormal.cpp index f71fb5663..2901361aa 100644 --- a/src/app/dialogs/tools/dialognormal.cpp +++ b/src/app/dialogs/tools/dialognormal.cpp @@ -120,7 +120,10 @@ void DialogNormal::DeployFormulaTextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogNormal::~DialogNormal() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogpointofcontact.cpp b/src/app/dialogs/tools/dialogpointofcontact.cpp index 2ee18bfd8..27e6e3ae3 100644 --- a/src/app/dialogs/tools/dialogpointofcontact.cpp +++ b/src/app/dialogs/tools/dialogpointofcontact.cpp @@ -96,7 +96,10 @@ DialogPointOfContact::DialogPointOfContact(const VContainer *data, const quint32 //--------------------------------------------------------------------------------------------------------------------- DialogPointOfContact::~DialogPointOfContact() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogpointofintersection.cpp b/src/app/dialogs/tools/dialogpointofintersection.cpp index 37661b4e3..4474e067e 100644 --- a/src/app/dialogs/tools/dialogpointofintersection.cpp +++ b/src/app/dialogs/tools/dialogpointofintersection.cpp @@ -67,7 +67,10 @@ DialogPointOfIntersection::DialogPointOfIntersection(const VContainer *data, con //--------------------------------------------------------------------------------------------------------------------- DialogPointOfIntersection::~DialogPointOfIntersection() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogshoulderpoint.cpp b/src/app/dialogs/tools/dialogshoulderpoint.cpp index e07a72a5b..d2c5d4521 100644 --- a/src/app/dialogs/tools/dialogshoulderpoint.cpp +++ b/src/app/dialogs/tools/dialogshoulderpoint.cpp @@ -131,7 +131,10 @@ void DialogShoulderPoint::DeployFormulaTextEdit() //--------------------------------------------------------------------------------------------------------------------- DialogShoulderPoint::~DialogShoulderPoint() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogspline.cpp b/src/app/dialogs/tools/dialogspline.cpp index 5f8ea4f10..d60ae5b9c 100644 --- a/src/app/dialogs/tools/dialogspline.cpp +++ b/src/app/dialogs/tools/dialogspline.cpp @@ -60,7 +60,10 @@ DialogSpline::DialogSpline(const VContainer *data, const quint32 &toolId, QWidge //--------------------------------------------------------------------------------------------------------------------- DialogSpline::~DialogSpline() { - delete path; + if (qApp->getCurrentScene()->items().contains(path)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete path; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogsplinepath.cpp b/src/app/dialogs/tools/dialogsplinepath.cpp index a4ae01409..39daac404 100644 --- a/src/app/dialogs/tools/dialogsplinepath.cpp +++ b/src/app/dialogs/tools/dialogsplinepath.cpp @@ -65,7 +65,10 @@ DialogSplinePath::DialogSplinePath(const VContainer *data, const quint32 &toolId //--------------------------------------------------------------------------------------------------------------------- DialogSplinePath::~DialogSplinePath() { - delete visPath; + if (qApp->getCurrentScene()->items().contains(visPath)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete visPath; + } delete ui; } diff --git a/src/app/dialogs/tools/dialogtriangle.cpp b/src/app/dialogs/tools/dialogtriangle.cpp index 173758f1e..a0a21e7a3 100644 --- a/src/app/dialogs/tools/dialogtriangle.cpp +++ b/src/app/dialogs/tools/dialogtriangle.cpp @@ -72,7 +72,10 @@ DialogTriangle::DialogTriangle(const VContainer *data, const quint32 &toolId, QW //--------------------------------------------------------------------------------------------------------------------- DialogTriangle::~DialogTriangle() { - delete line; + if (qApp->getCurrentScene()->items().contains(line)) + { // In some cases scene delete object yourself. If not make check program will crash. + delete line; + } delete ui; }