lib: fixed bug in Contact parser that stored old RecordIDs / UniqueIDs
commitfcf425d1c51c79e7efd6ff97a45d1ac9e34bff89
authorChris Frey <cdfrey@foursquare.net>
Mon, 7 Feb 2011 05:34:48 +0000 (7 00:34 -0500)
committerChris Frey <cdfrey@foursquare.net>
Mon, 7 Feb 2011 06:08:57 +0000 (7 01:08 -0500)
treea9c2cbb96cea6d1233ccec864618ba1a2cfe6623
parentcdee01ca7ebd6b36fb84593ab600e190f7734154
lib: fixed bug in Contact parser that stored old RecordIDs / UniqueIDs

This bug caused old RecordIDs / UniqueID to be stored in the Unknowns
list, which when copied and added to the device again, would build up
and potentially cause conflicts.

In some cases, when adding a record with multiple RecordIDs, and if one of
the IDs already existed in the BlackBerry device, then the device would
get into an inconsistent state and end up with an un-deletable record,
and every attempt to edit it would give the message:

"Address updated externally. Changes will be lost and the
viewer closed"

This would also cause an inconsistency in the Record State Table record
count and the actual count retrieved during a database backup.

The only way to recover would be to restore from a known good backup,
which will erase the existing Address Book database and start fresh.
ChangeLog
src/r_contact.cc