-rw-r--r-- | core/pim/addressbook/abtable.cpp | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/core/pim/addressbook/abtable.cpp b/core/pim/addressbook/abtable.cpp index e9e6a0b..3fa1a7c 100644 --- a/core/pim/addressbook/abtable.cpp +++ b/core/pim/addressbook/abtable.cpp @@ -564,2 +564,4 @@ void AbTable::loadFile( const QString &strFile, bool journalFile ) f.close(); + if (ba.isEmpty() ) + return; char *uc = ba.data();//(QChar *)data.unicode(); @@ -799,3 +801,3 @@ void AbTable::journalFreeReplace( const Contact &cnt, int row ) strContact; - AbTableItem *ati; + AbTableItem *ati = 0l; @@ -804,8 +806,15 @@ void AbTable::journalFreeReplace( const Contact &cnt, int row ) ati = static_cast<AbTableItem*>(item(row, 0)); - contactList.remove( ati ); - ati->setItem( strName, strContact ); - contactList.insert( ati, cnt ); - - ati = static_cast<AbTableItem*>(item(row, 1)); - ati->setItem( strContact, strName ); + if ( ati != 0 ) { + contactList.remove( ati ); + ati->setItem( strName, strContact ); + contactList.insert( ati, cnt ); + + ati = static_cast<AbTableItem*>(item(row, 1)); + ati->setItem( strContact, strName ); + }else{ + int myrows = numRows(); + setNumRows( myrows + 1 ); + insertIntoTable( cnt, myrows ); + // gets deleted when returning + } } @@ -1085,3 +1094,3 @@ void AbTable::updateVisible() hide = true; - + if (tmpStr == "b") |