From 6bac067488c7d559371ab6d940b79f5e7c41f461 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Wed, 6 Feb 2019 13:33:38 +0100 Subject: [PATCH] Keep behaviour of returned null pointers for now --- src/ifcparse/IfcParse.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ifcparse/IfcParse.cpp b/src/ifcparse/IfcParse.cpp index 9e2b3bb41d..0e63c88360 100644 --- a/src/ifcparse/IfcParse.cpp +++ b/src/ifcparse/IfcParse.cpp @@ -1807,11 +1807,13 @@ IfcEntityList::ptr IfcFile::entitiesByReference(int t) { ret = cached_it->second; } else { - ret.reset(new IfcEntityList); - ret->reserve((unsigned)it->second.size()); - const std::vector& ids = it->second; - for (std::vector::const_iterator jt = ids.begin(); jt != ids.end(); ++jt) { - ret->push(entityById(*jt)); + if (it->second.size()) { + ret.reset(new IfcEntityList); + ret->reserve((unsigned)it->second.size()); + const std::vector& ids = it->second; + for (std::vector::const_iterator jt = ids.begin(); jt != ids.end(); ++jt) { + ret->push(entityById(*jt)); + } } by_ref_cached_[t] = ret; }