diff --git a/src/Gui/Document.cpp b/src/Gui/Document.cpp index 4b28736248..0b938181ff 100644 --- a/src/Gui/Document.cpp +++ b/src/Gui/Document.cpp @@ -477,8 +477,10 @@ void Document::_resetEdit(void) // the editing object gets deleted inside the above call to // 'finishEditing()', which will trigger our slotDeletedObject(), which // nullifies _editViewProvider. - if (d->_editViewProvider && d->_editViewProvider->isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) - signalResetEdit(*(static_cast(d->_editViewProvider))); + if (d->_editViewProvider && d->_editViewProvider->isDerivedFrom(ViewProviderDocumentObject::getClassTypeId())) { + auto vpd = static_cast(d->_editViewProvider); + vpd->getDocument()->signalResetEdit(*vpd); + } d->_editViewProvider = 0; // The logic below is not necessary anymore, because this method is