diff --git a/src/libs/vtools/tools/vgrainlineitem.cpp b/src/libs/vtools/tools/vgrainlineitem.cpp index 4fea3b503..dfe1c5ff9 100644 --- a/src/libs/vtools/tools/vgrainlineitem.cpp +++ b/src/libs/vtools/tools/vgrainlineitem.cpp @@ -32,6 +32,7 @@ #include #include #include +#include #include "../vmisc/def.h" #include "../vmisc/vmath.h" @@ -230,6 +231,10 @@ QRectF VGrainlineItem::boundingRect() const */ void VGrainlineItem::Reset() { + if (QGraphicsScene *toolScene = scene()) + { + toolScene->clearSelection(); + } m_bReleased = false; m_eMode = mNormal; setZValue(INACTIVE_Z); diff --git a/src/libs/vtools/tools/vtextgraphicsitem.cpp b/src/libs/vtools/tools/vtextgraphicsitem.cpp index d9b815266..63d1f834c 100644 --- a/src/libs/vtools/tools/vtextgraphicsitem.cpp +++ b/src/libs/vtools/tools/vtextgraphicsitem.cpp @@ -37,6 +37,7 @@ #include #include #include +#include #include "../vmisc/def.h" #include "../vmisc/vmath.h" @@ -201,6 +202,10 @@ void VTextGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem */ void VTextGraphicsItem::Reset() { + if (QGraphicsScene *toolScene = scene()) + { + toolScene->clearSelection(); + } m_eMode = mNormal; m_bReleased = false; Update(); diff --git a/src/libs/vtools/tools/vtoolseamallowance.cpp b/src/libs/vtools/tools/vtoolseamallowance.cpp index 6fa1fbb01..3800846ac 100644 --- a/src/libs/vtools/tools/vtoolseamallowance.cpp +++ b/src/libs/vtools/tools/vtoolseamallowance.cpp @@ -334,7 +334,7 @@ void VToolSeamAllowance::AllowSelecting(bool enabled) void VToolSeamAllowance::ResetChildren(QGraphicsItem *pItem) { const VPiece detail = VAbstractTool::data.GetPiece(id); - VTextGraphicsItem* pVGI = dynamic_cast(pItem); + VTextGraphicsItem* pVGI = qgraphicsitem_cast(pItem); if (pVGI != m_dataLabel) { if (detail.GetPatternPieceData().IsVisible()) @@ -349,7 +349,7 @@ void VToolSeamAllowance::ResetChildren(QGraphicsItem *pItem) m_patternInfo->Reset(); } } - VGrainlineItem* pGLI = dynamic_cast(pItem); + VGrainlineItem* pGLI = qgraphicsitem_cast(pItem); if (pGLI != m_grainLine) { if (detail.GetGrainlineGeometry().IsVisible()) @@ -357,6 +357,8 @@ void VToolSeamAllowance::ResetChildren(QGraphicsItem *pItem) m_grainLine->Reset(); } } + + update(); } //---------------------------------------------------------------------------------------------------------------------