From 89a2151a95e3ad7bbf12c285efd4c936a6a1158b Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 12 Sep 2020 18:14:09 +0200 Subject: [PATCH] App: [skip ci] move execution of extensions to its own method --- src/App/DocumentObject.cpp | 7 ++++++- src/App/DocumentObject.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/App/DocumentObject.cpp b/src/App/DocumentObject.cpp index 0b5975f330..0d83902543 100644 --- a/src/App/DocumentObject.cpp +++ b/src/App/DocumentObject.cpp @@ -113,7 +113,12 @@ App::DocumentObjectExecReturn *DocumentObject::recompute(void) DocumentObjectExecReturn *DocumentObject::execute(void) { - //call all extensions + return executeExtensions(); +} + +App::DocumentObjectExecReturn* DocumentObject::executeExtensions() +{ + //execute extensions but stop on error auto vector = getExtensionsDerivedFromType(); for(auto ext : vector) { auto ret = ext->extensionExecute(); diff --git a/src/App/DocumentObject.h b/src/App/DocumentObject.h index ae50454fc6..8b599356e7 100644 --- a/src/App/DocumentObject.h +++ b/src/App/DocumentObject.h @@ -567,6 +567,11 @@ protected: */ virtual App::DocumentObjectExecReturn *execute(void); + /** + * Executes the extensions of a document object. + */ + App::DocumentObjectExecReturn *executeExtensions(); + /** Status bits of the document object * The first 8 bits are used for the base system the rest can be used in * descendent classes to mark special statuses on the objects.