Index: src/libserializer/SerializableContainer.h =================================================================== diff -u -N -rf01ed9a0279a52c96a7272273ef19e57f7670f4a -rf8b6de9c28b2957db0b4e71efa11df8632e41261 --- src/libserializer/SerializableContainer.h (.../SerializableContainer.h) (revision f01ed9a0279a52c96a7272273ef19e57f7670f4a) +++ src/libserializer/SerializableContainer.h (.../SerializableContainer.h) (revision f8b6de9c28b2957db0b4e71efa11df8632e41261) @@ -59,6 +59,7 @@ m_setRemovedObjects.Clear(); m_vEntries.clear(); + m_oidLastObjectID = 0; InitColumns(spContainer); @@ -68,6 +69,7 @@ T tEntry; tEntry.Load(spRowReader); + m_oidLastObjectID = std::max(m_oidLastObjectID, tEntry.GetObjectID()); m_vEntries.push_back(tEntry); } @@ -87,6 +89,7 @@ { auto iterResult = m_vEntries.insert(m_vEntries.end(), rEntry); iterResult->SetObjectID(++m_oidLastObjectID); + iterResult->MarkAsAdded(); } bool SetAt(size_t stIndex, const T& rNewEntry) @@ -111,6 +114,7 @@ { auto iterResult = m_vEntries.insert(m_vEntries.begin() + stIndex, rNewEntry); iterResult->SetObjectID(++m_oidLastObjectID); + iterResult->MarkAsAdded(); return true; }