add method to check if an open transaction is empty

This is needed to avoid to incorrectly abort a transaction if a recompute was done between opening and closing an editor in the property view
This commit is contained in:
wmayer
2018-11-10 14:50:58 +01:00
parent ccbf7a6c3a
commit 06fa64a00d
5 changed files with 24 additions and 2 deletions

View File

@@ -104,9 +104,12 @@ void PropertyEditor::closeEditor (QWidget * editor, QAbstractItemDelegate::EndEd
if (autoupdate) {
App::Document* doc = App::GetApplication().getActiveDocument();
if (doc) {
if (doc->isTouched()) {
if (!doc->isTransactionEmpty()) {
doc->commitTransaction();
doc->recompute();
// Between opening and committing a transaction a recompute
// could already have been done
if (doc->isTouched())
doc->recompute();
}
else {
doc->abortTransaction();