Contact Conversion Rewrite

I finally finished rewriting the code to convert contacts as it was overly complicated and some code was duplicated a few times.  Along the way I was greeted with an error message I’ve never seen:

Error: XML descendants internal method called on incompatible Object
The cause: I put two periods where only one was needed..

Copying/Moving Cards

I previously mentioned that copying or moving a card would make it lose the attributes added by this extension, but this is now fixed.  It does slow down copying and, more noticably, moving cards, so there is a new preference to disable this.

Miscellaneous Bug Fixes

I’ve been searching for bugs to fix and found a few.  Not all of the preferences worked, but I think they should be fixed now.  The Home section of the card view was sometimes visible when none of the relevant attributes were present, as well, due to a mistake I made in the overlay.

Bug 448165

While working on overriding the method to copy/move cards, I crashed Thunderbird by calling the deleteSelectedCards method of the address book view when no cards were selected.  After using gdb to look at the backtrace, I found that calling nsIAbMDBDirectory::DeleteCards crashes if null is passed to it.  I wrote a unit test and patch, but I am installing FreeBSD and compiling Gnome and it’s dependencies on my slow laptop (on which I test patches in Windows), so I have not tested the patch or test in Windows yet.

Removing the Auth Token

I have now added and tested a button to remove the auth token on the first tab of the extension preferences.  If you ever wish to remove the extension, I suggest you remove the auth token.  Additionally, if you are getting authentication errors, remove the auth token, close the Address Book if it was open, and re-open the Address Book to sign in again.


1 Comment

Manos Batsis · October 8, 2008 at 10:01 AM

Thanks for posting on the “XML descendants internal method called on incompatible Object”. Certainly a time saver.

Cheers,

Manos

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.