From 37fa3ebba9b6fcb101c6b5e582f49b5cc87ddea9 Mon Sep 17 00:00:00 2001 From: nds Date: Thu, 30 Mar 2017 11:10:52 +0300 Subject: [PATCH] Issue #2027 Modification of data strtucture outside of transaction when create circle on face of box Modification is proposed by MPV --- src/Model/Model_Document.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Model/Model_Document.cpp b/src/Model/Model_Document.cpp index 0eea8c4ff..9ff99fbad 100755 --- a/src/Model/Model_Document.cpp +++ b/src/Model/Model_Document.cpp @@ -554,7 +554,6 @@ bool Model_Document::finishOperation() static std::shared_ptr aFinishMsg (new Events_Message(Events_Loop::eventByName("FinishOperation"))); Events_Loop::loop()->send(aFinishMsg); - Events_Loop::loop()->autoFlush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED), false); } // to avoid "updated" message appearance by updater //aLoop->clear(Events_Loop::eventByName(EVENT_OBJECT_UPDATED)); @@ -567,6 +566,11 @@ bool Model_Document::finishOperation() if (subDoc(*aSubIter)->finishOperation()) aResult = true; + // sub-Part may send updated by flush of deleted (macro circle) + if (isRoot()) { // once for root document + Events_Loop::loop()->autoFlush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED), false); + } + // transaction may be empty if this document was created during this transaction (create part) if (!myTransactions.empty() && myDoc->CommitCommand()) { // if commit is successfull, just increment counters -- 2.39.2