From d1ec8e90ddab20770db761198e4994b01e612ed7 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Mon, 4 Dec 2017 14:08:13 +0200 Subject: [PATCH] Fix Valentina crash adding internal path did not increment this object reference. --HG-- branch : develop --- src/libs/vtools/tools/nodeDetails/vtoolpiecepath.cpp | 2 ++ src/libs/vtools/tools/nodeDetails/vtoolpin.cpp | 1 + src/libs/vtools/tools/nodeDetails/vtoolplacelabel.cpp | 1 + 3 files changed, 4 insertions(+) diff --git a/src/libs/vtools/tools/nodeDetails/vtoolpiecepath.cpp b/src/libs/vtools/tools/nodeDetails/vtoolpiecepath.cpp index 3d11c6989..6d070b789 100644 --- a/src/libs/vtools/tools/nodeDetails/vtoolpiecepath.cpp +++ b/src/libs/vtools/tools/nodeDetails/vtoolpiecepath.cpp @@ -241,6 +241,7 @@ void VToolPiecePath::AddToFile() if (path.GetType() == PiecePathType::InternalPath) { newDet.GetInternalPaths().append(m_id); + incrementReferens(); // Manually increment reference since in this case a piece tool will not do this for us } else if (path.GetType() == PiecePathType::CustomSeamAllowance) { @@ -248,6 +249,7 @@ void VToolPiecePath::AddToFile() record.path = m_id; newDet.GetCustomSARecords().append(record); + incrementReferens(); // Manually increment reference since in this case a piece tool will not do this for us } qApp->getUndoStack()->push(new SavePieceOptions(oldDet, newDet, doc, m_pieceId)); diff --git a/src/libs/vtools/tools/nodeDetails/vtoolpin.cpp b/src/libs/vtools/tools/nodeDetails/vtoolpin.cpp index 55cd6a1ad..90fa9b68d 100644 --- a/src/libs/vtools/tools/nodeDetails/vtoolpin.cpp +++ b/src/libs/vtools/tools/nodeDetails/vtoolpin.cpp @@ -147,6 +147,7 @@ void VToolPin::AddToFile() VPiece newDet = oldDet; newDet.GetPins().append(m_id); + incrementReferens(); // Manually increment reference since in this case a piece tool will not do this for us qApp->getUndoStack()->push(new SavePieceOptions(oldDet, newDet, doc, m_pieceId)); } diff --git a/src/libs/vtools/tools/nodeDetails/vtoolplacelabel.cpp b/src/libs/vtools/tools/nodeDetails/vtoolplacelabel.cpp index 6b597fcf5..67ef4e39d 100644 --- a/src/libs/vtools/tools/nodeDetails/vtoolplacelabel.cpp +++ b/src/libs/vtools/tools/nodeDetails/vtoolplacelabel.cpp @@ -197,6 +197,7 @@ void VToolPlaceLabel::AddToFile() VPiece newDet = oldDet; newDet.GetPlaceLabels().append(m_id); + incrementReferens(); // Manually increment reference since in this case a piece tool will not do this for us qApp->getUndoStack()->push(new SavePieceOptions(oldDet, newDet, doc, m_pieceId)); } }