summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/addressbook/abtable.cpp25
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")