diff --git a/src/App/Document.cpp b/src/App/Document.cpp index c7ddf9dde3..3c9cfc041b 100644 --- a/src/App/Document.cpp +++ b/src/App/Document.cpp @@ -3484,7 +3484,7 @@ int Document::recompute(const std::vector &objs, bool forc if(canAbort) seq.reset(new Base::SequencerLauncher("Recompute...", topoSortedObjects.size())); FC_LOG("Recompute pass " << passes); - for (;idxnext(true):true),++idx) { + for (; idx < topoSortedObjects.size(); ++idx) { auto obj = topoSortedObjects[idx]; if(!obj->getNameInDocument() || filter.find(obj)!=filter.end()) continue; @@ -3515,6 +3515,8 @@ int Document::recompute(const std::vector &objs, bool forc for (auto inObjIt : obj->getInList()) inObjIt->enforceRecompute(); } + if (seq) + seq->next(true); } // check if all objects are recomputed but still thouched for (size_t i=0;i