Index: kpilot/conduits/todo/todoconduit.cc =================================================================== --- kpilot/conduits/todo/todoconduit.cc (Revision 915906) +++ kpilot/conduits/todo/todoconduit.cc (Revision 915907) @@ -68,6 +68,7 @@ TodoSettings::self()->readConfig(); d->fCollectionId = TodoSettings::akonadiCollection(); + d->fPrevCollectionId = TodoSettings::prevAkonadiCollection(); } bool TodoConduit::initDataProxies() Index: kpilot/conduits/akonadibase/akonadirecord.cc =================================================================== --- kpilot/conduits/akonadibase/akonadirecord.cc (Revision 915830) +++ kpilot/conduits/akonadibase/akonadirecord.cc (Revision 915831) @@ -47,12 +47,14 @@ d->fItem = item; d->fLastSyncDateTime = lastSync.toUTC(); // Item times are saved in UTC time. d->fDeleted = false; + d->fDummy = false; } AkonadiRecord::AkonadiRecord( const QString& id ) : d( new AkonadiRecordPrivate ) { d->fTempId = id; d->fDeleted = true; + d->fDummy = false; } AkonadiRecord::~AkonadiRecord() Index: kpilot/conduits/akonadibase/akonadirecord.cc =================================================================== --- kpilot/conduits/akonadibase/akonadirecord.cc (Revision 915836) +++ kpilot/conduits/akonadibase/akonadirecord.cc (Revision 915837) @@ -50,11 +50,15 @@ d->fDummy = false; } +/** + * This ctor is _only_ used for dummy records which are temporarily used to delete + * data. + */ AkonadiRecord::AkonadiRecord( const QString& id ) : d( new AkonadiRecordPrivate ) { d->fTempId = id; d->fDeleted = true; - d->fDummy = false; + d->fDummy = true; } AkonadiRecord::~AkonadiRecord() @@ -123,6 +127,11 @@ d->fItem = item; // Make sure that we return the right id after updating the itemobject. setId( QString::number( item.id() ) ); + /** + * Assuming we're being passed a valid item to use, make sure fDummy + * is not still false after this. + */ + setDummy( false ); } void AkonadiRecord::synced()