author | ulf69 <ulf69> | 2004-07-15 15:15:52 (UTC) |
---|---|---|
committer | ulf69 <ulf69> | 2004-07-15 15:15:52 (UTC) |
commit | ec8315212b05c128c8d5650cf5daff2b1d6b84dd (patch) (side-by-side diff) | |
tree | ae4ffd799c19caa18c1b0964783f915395769a24 /kaddressbook/xxport/qtopia | |
parent | 59f727076930aada485db6531d4084f2bfe0b928 (diff) | |
download | kdepimpi-ec8315212b05c128c8d5650cf5daff2b1d6b84dd.zip kdepimpi-ec8315212b05c128c8d5650cf5daff2b1d6b84dd.tar.gz kdepimpi-ec8315212b05c128c8d5650cf5daff2b1d6b84dd.tar.bz2 |
resolved crash during import of opie and qtopia addressbooks
-rw-r--r-- | kaddressbook/xxport/qtopia/qtopia_xxport.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp index 3d830df..bf39fdb 100644 --- a/kaddressbook/xxport/qtopia/qtopia_xxport.cpp +++ b/kaddressbook/xxport/qtopia/qtopia_xxport.cpp @@ -134,58 +134,68 @@ bool QtopiaXXPort::exportContacts( const KABC::AddresseeList &list, const QStrin PimContact c; KABC::Addressee addressee = (*it); res = mConverter.addresseeToQtopia( *it, c ); if (res == true) { access->addContact(c); } } delete access; return true; } KABC::AddresseeList QtopiaXXPort::importContacts( const QString& ) const { KABC::AddresseeList adrlst; QString fileName = QDir::homeDirPath() + "/Applications/addressbook/addressbook.xml"; AddressBookAccess* access = new AddressBookAccess(); if ( !access ) { QString text( i18n( "Unable to access file '%1'." ).arg( fileName ) ); qDebug(text.latin1()); addressBook()->error( text ); KMessageBox::error( parentWidget(), text ); return KABC::AddresseeList(); } KABC::QtopiaConverter mConverter; - bool res = false; + bool res = mConverter.init(); + if (!res) + { + QString text( i18n( "Unable to initialize qtopia converter.<br>Most likely a problem with the category file." ) ); + qDebug(text); + KMessageBox::error( parentWidget(), text ); + delete access; + return KABC::AddresseeList(); + } + + { //create a new scope AddressBookIterator it(*access); for (it.toFirst(); it.current(); ++it) { const PimContact*contact = it.current(); KABC::Addressee addressee; res = mConverter.qtopiaToAddressee( (*contact), addressee ); if ( !addressee.isEmpty() && res ) { adrlst.append( addressee ); } } } delete access; //US the deletion of the access object deletes the backend object as well. return adrlst; } |