diff --git a/src/ifcparse/IfcWrite.cpp b/src/ifcparse/IfcWrite.cpp index 4ff08eec48..2adabed7f8 100644 --- a/src/ifcparse/IfcWrite.cpp +++ b/src/ifcparse/IfcWrite.cpp @@ -289,9 +289,9 @@ void IfcWriteArgument::set(const aggregate_of_aggregate_of_instance::ptr& v) { } // Overload to detect null values -void IfcWriteArgument::set(IfcUtil::IfcBaseClass*const& v) { +void IfcWriteArgument::set(IfcUtil::IfcBaseInterface*const& v) { if (v) { - container = v; + container = v->as(); } else { container = boost::blank(); } diff --git a/src/ifcparse/IfcWrite.h b/src/ifcparse/IfcWrite.h index 502ec21f1e..c69ca6052b 100644 --- a/src/ifcparse/IfcWrite.h +++ b/src/ifcparse/IfcWrite.h @@ -129,7 +129,7 @@ namespace IfcWrite { } template - typename boost::disable_if::type>, void>::type + typename boost::disable_if::type>, void>::type set(const T& t) { container = t; } @@ -141,7 +141,7 @@ namespace IfcWrite { void set(const aggregate_of_aggregate_of_instance::ptr& v); // Overload to detect null values - void set(IfcUtil::IfcBaseClass*const & v); + void set(IfcUtil::IfcBaseInterface*const & v); operator int() const; operator bool() const;