work around to fix build failure with clang 3.4

This commit is contained in:
wmayer
2019-08-20 14:24:27 +02:00
parent 43418e7505
commit 05f1680360

View File

@@ -810,7 +810,11 @@ Property *PropertyExpressionEngine::CopyOnImportExternal(
{
std::unique_ptr<PropertyExpressionEngine> engine;
for(auto it=expressions.begin();it!=expressions.end();++it) {
#ifdef BOOST_NO_CXX11_SMART_PTR
boost::shared_ptr<Expression> expr(it->second.expression->importSubNames(nameMap).release());
#else
boost::shared_ptr<Expression> expr(it->second.expression->importSubNames(nameMap));
#endif
if(!expr && !engine)
continue;
if(!engine) {
@@ -834,7 +838,11 @@ Property *PropertyExpressionEngine::CopyOnLabelChange(App::DocumentObject *obj,
{
std::unique_ptr<PropertyExpressionEngine> engine;
for(auto it=expressions.begin();it!=expressions.end();++it) {
#ifdef BOOST_NO_CXX11_SMART_PTR
boost::shared_ptr<Expression> expr(it->second.expression->updateLabelReference(obj,ref,newLabel).release());
#else
boost::shared_ptr<Expression> expr(it->second.expression->updateLabelReference(obj,ref,newLabel));
#endif
if(!expr && !engine)
continue;
if(!engine) {
@@ -858,8 +866,13 @@ Property *PropertyExpressionEngine::CopyOnLinkReplace(const App::DocumentObject
{
std::unique_ptr<PropertyExpressionEngine> engine;
for(auto it=expressions.begin();it!=expressions.end();++it) {
#ifdef BOOST_NO_CXX11_SMART_PTR
boost::shared_ptr<Expression> expr(
it->second.expression->replaceObject(parent,oldObj,newObj).release());
#else
boost::shared_ptr<Expression> expr(
it->second.expression->replaceObject(parent,oldObj,newObj));
#endif
if(!expr && !engine)
continue;
if(!engine) {
@@ -891,8 +904,13 @@ void PropertyExpressionEngine::setExpressions(
std::map<App::ObjectIdentifier, App::ExpressionPtr> &&exprs)
{
AtomicPropertyChange signaller(*this);
#ifdef BOOST_NO_CXX11_SMART_PTR
for(auto &v : exprs)
setValue(v.first,boost::shared_ptr<Expression>(v.second.release()));
#else
for(auto &v : exprs)
setValue(v.first,std::move(v.second));
#endif
}
void PropertyExpressionEngine::onRelabeledDocument(const App::Document &doc)