Don't bind to reference in order not to overwrite entity instance storage in case of IfcPropertySetDefinitionSet

This commit is contained in:
Thomas Krijnen
2026-08-09 12:42:35 +02:00
parent 17c4d8faff
commit 9e53d0dcc9
3 changed files with 32 additions and 6 deletions
+3 -3
View File
@@ -2362,7 +2362,7 @@ void ifcopenshell::impl::in_memory_file_storage::read_from_stream(Reader* s, con
if (it == byid_.end()) {
logger_.get().error("Instance reference #" + std::to_string(*name) + " used by instance #" + std::to_string(ref) + " at attribute index " + std::to_string(refattr) + " not found at offset " + std::to_string(name->file_offset));
} else {
auto& storage = owner;
auto storage = owner;
auto attr_index = p.first.index_;
if (storage->template has_attribute_value<express::base>(attr_index)) {
@@ -2406,7 +2406,7 @@ void ifcopenshell::impl::in_memory_file_storage::read_from_stream(Reader* s, con
}
}
auto& storage = owner;
auto storage = owner;
auto attr_index = p.first.index_;
if (storage->template has_attribute_value<express::base>(attr_index)) {
@@ -2448,7 +2448,7 @@ void ifcopenshell::impl::in_memory_file_storage::read_from_stream(Reader* s, con
}
}
auto& storage = owner;
auto storage = owner;
auto attr_index = p.first.index_;
if (storage->template has_attribute_value<express::base>(attr_index)) {