Move LiveCellRef where possible

pull/3236/head
elsid 7 months ago
parent f456978cc3
commit ca8869042b
No known key found for this signature in database
GPG Key ID: 4DE04C198CBA7625

@ -319,7 +319,7 @@ namespace
// new reference // new reference
MWWorld::LiveCellRef<T> ref(record); MWWorld::LiveCellRef<T> ref(record);
ref.load(state); ref.load(state);
collection.mList.push_back(ref); collection.mList.push_back(std::move(ref));
MWWorld::LiveCellRefBase* base = &collection.mList.back(); MWWorld::LiveCellRefBase* base = &collection.mList.back();
MWBase::Environment::get().getWorldModel()->registerPtr(MWWorld::Ptr(base, cellstore)); MWBase::Environment::get().getWorldModel()->registerPtr(MWWorld::Ptr(base, cellstore));
@ -426,9 +426,9 @@ namespace MWWorld
liveCellRef.mData.setDeletedByContentFile(true); liveCellRef.mData.setDeletedByContentFile(true);
if (iter != mList.end()) if (iter != mList.end())
*iter = liveCellRef; *iter = std::move(liveCellRef);
else else
mList.push_back(liveCellRef); mList.push_back(std::move(liveCellRef));
} }
else else
{ {
@ -455,7 +455,7 @@ namespace MWWorld
LiveCellRef<X> liveCellRef(ref, ptr); LiveCellRef<X> liveCellRef(ref, ptr);
if (!isEnabled(ref, esmStore)) if (!isEnabled(ref, esmStore))
liveCellRef.mData.disable(); liveCellRef.mData.disable();
list.push_back(liveCellRef); list.push_back(std::move(liveCellRef));
} }
template <typename X> template <typename X>

@ -103,7 +103,7 @@ MWWorld::ContainerStoreIterator MWWorld::ContainerStore::getState(
LiveCellRef<T> ref(record); LiveCellRef<T> ref(record);
ref.load(state); ref.load(state);
collection.mList.push_back(ref); collection.mList.push_back(std::move(ref));
auto it = ContainerStoreIterator(this, --collection.mList.end()); auto it = ContainerStoreIterator(this, --collection.mList.end());
MWBase::Environment::get().getWorldModel()->registerPtr(*it); MWBase::Environment::get().getWorldModel()->registerPtr(*it);

Loading…
Cancel
Save