Copy base data to modified.

celladd
cc9cii 10 years ago
parent a54ab153b0
commit 128371c902

@ -61,7 +61,9 @@ namespace CSMWorld
template <typename ESXRecordT> template <typename ESXRecordT>
RecordBase *Record<ESXRecordT>::clone() const RecordBase *Record<ESXRecordT>::clone() const
{ {
return new Record<ESXRecordT> (*this); Record<ESXRecordT> *copy = new Record<ESXRecordT> (*this);
copy->mModified = (*this).get();
return copy;
} }
template <typename ESXRecordT> template <typename ESXRecordT>

@ -471,7 +471,7 @@ void CSMWorld::RefIdCollection::cloneRecord(const std::string& origin,
const CSMWorld::UniversalId::Type type) const CSMWorld::UniversalId::Type type)
{ {
std::auto_ptr<RecordBase> newRecord(mData.getRecord(mData.searchId(origin)).clone()); std::auto_ptr<RecordBase> newRecord(mData.getRecord(mData.searchId(origin)).clone());
newRecord->mState = RecordBase::State_BaseOnly; newRecord->mState = RecordBase::State_ModifiedOnly;
mAdapters.find(type)->second->setId(*newRecord, destination); mAdapters.find(type)->second->setId(*newRecord, destination);
mData.insertRecord(*newRecord, type, destination); mData.insertRecord(*newRecord, type, destination);
} }

Loading…
Cancel
Save