Firstly, I'm new to this code, so I'm not sure that my assumptions below hold 
true.

I'm trying to sync a Sony Ericsson T610 with the KDE Addressbook, using the 
sync_irmc_bluetooth and kdepim plugin.

The initial sync mostly worked OK, but added a few empty entries to the 
phonebook, presumably ones with email addresses, even though the T610 will 
store email addresses.

The crashing is occurring after I deleted those entries, and am trying another 
sync.

I've isolated the problem to the fact that the irmc_sync plugin receives a 
change event from the phone in the form 'H:155::000082000000' where, H stands 
for Hard Delete, with no extra change data.

The pb_get_changes function has these lines, 

        if (type == 'D')
          change->change_type = SYNC_OBJ_SOFTDELETED;
        if (type == 'H')
          change->change_type = SYNC_OBJ_HARDDELETED;
        if (type == 'M' || objlen == 0)
          change->change_type = SYNC_OBJ_MODIFIED;

Because there is no associated object data, objlen is 0. Why would you want to 
reset the change type to modified, if the phone has clearly sent a 'hard 
delete' message? 

Is this a bug, or necessary behaviour?

Regards,
                Jonathon Padfield


-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
Multisync-devel mailing list
Multisync-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/multisync-devel

Reply via email to