summaryrefslogtreecommitdiff
path: root/plugins/Db3x_mmap/src/dbcontacts.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/Db3x_mmap/src/dbcontacts.cpp')
-rw-r--r--plugins/Db3x_mmap/src/dbcontacts.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/Db3x_mmap/src/dbcontacts.cpp b/plugins/Db3x_mmap/src/dbcontacts.cpp
index ae0ef7fd36..0f305a2532 100644
--- a/plugins/Db3x_mmap/src/dbcontacts.cpp
+++ b/plugins/Db3x_mmap/src/dbcontacts.cpp
@@ -234,10 +234,15 @@ void CDb3Mmap::FillContacts()
if (p->signature != DBCONTACT_SIGNATURE)
break;
- if (p->dwContactID > m_dwMaxContactId)
- m_dwMaxContactId = p->dwContactID + 1;
+ DWORD dwContactID;
+ if (m_dbHeader.version == DB_095_VERSION) {
+ dwContactID = p->dwContactID;
+ if (dwContactID > m_dwMaxContactId)
+ m_dwMaxContactId = dwContactID + 1;
+ }
+ else dwContactID = m_dwMaxContactId++;
- DBCachedContact *cc = m_cache->AddContactToCache(p->dwContactID);
+ DBCachedContact *cc = m_cache->AddContactToCache(dwContactID);
cc->dwDriverData = dwOffset;
CheckProto(cc, "");