From be257182bafc6062a7a36d7a37fd4d5c7fa10adb Mon Sep 17 00:00:00 2001 From: wandererfan Date: Wed, 29 May 2019 18:21:35 -0400 Subject: [PATCH] Fix Abandon Edit --- src/Mod/TechDraw/Gui/QGEPath.cpp | 5 +++++ src/Mod/TechDraw/Gui/QGILeaderLine.cpp | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Mod/TechDraw/Gui/QGEPath.cpp b/src/Mod/TechDraw/Gui/QGEPath.cpp index ce6765f49d..8c6ae8a5b5 100644 --- a/src/Mod/TechDraw/Gui/QGEPath.cpp +++ b/src/Mod/TechDraw/Gui/QGEPath.cpp @@ -252,6 +252,11 @@ void QGEPath::restoreState() { // Base::Console().Message("QGEPath::restoreState()\n"); inEdit(false); + if (m_ghost != nullptr) { + if (m_ghost->scene() != nullptr) { + scene()->removeItem(m_ghost); //stop ghost from messing up brect + } + } m_deltas = m_saveDeltas; updatePath(); } diff --git a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp index e8169cb54d..e171939c4e 100644 --- a/src/Mod/TechDraw/Gui/QGILeaderLine.cpp +++ b/src/Mod/TechDraw/Gui/QGILeaderLine.cpp @@ -265,6 +265,7 @@ void QGILeaderLine::startPathEdit(void) void QGILeaderLine::saveState(void) { +// Base::Console().Message("QGILL::saveState()\n"); auto leadFeat = getFeature(); if (leadFeat != nullptr) { m_savePoints = leadFeat->WayPoints.getValues(); @@ -275,11 +276,13 @@ void QGILeaderLine::saveState(void) void QGILeaderLine::restoreState(void) { +// Base::Console().Message("QGILL::restoreState()\n"); auto leadFeat = getFeature(); if (leadFeat != nullptr) { leadFeat->WayPoints.setValues(m_savePoints); leadFeat->X.setValue(m_saveX); leadFeat->Y.setValue(m_saveY); + leadFeat->recomputeFeature(); } } @@ -487,9 +490,10 @@ void QGILeaderLine::setArrows(std::vector pathPoints) void QGILeaderLine::abandonEdit(void) { -//// Base::Console().Message("QGIL::abandonEdit()\n"); +// Base::Console().Message("QGIL::abandonEdit()\n"); m_line->clearMarkers(); m_line->restoreState(); + restoreState(); } double QGILeaderLine::getScale(void)