diff --git a/apps/opencs/model/world/collection.hpp b/apps/opencs/model/world/collection.hpp index 167210de9..a4cdec4ea 100644 --- a/apps/opencs/model/world/collection.hpp +++ b/apps/opencs/model/world/collection.hpp @@ -152,7 +152,7 @@ namespace CSMWorld record2.mState = Record::State_ModifiedOnly; record2.mModified = record; - insertRecord (record2, mRecords.size()); + insertRecord (record2, getAppendIndex (id)); } else { @@ -274,7 +274,7 @@ namespace CSMWorld record2.mState = Record::State_ModifiedOnly; record2.mModified = record; - insertRecord (record2, mRecords.size(), type); + insertRecord (record2, getAppendIndex (id, type), type); } template @@ -300,7 +300,9 @@ namespace CSMWorld void Collection::appendRecord (const RecordBase& record, UniversalId::Type type) { - insertRecord (record, mRecords.size(), type); + insertRecord (record, + getAppendIndex (IdAccessorT().getId ( + dynamic_cast&> (record).get()), type), type); } template