author | zecke <zecke> | 2002-06-19 17:38:11 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-06-19 17:38:11 (UTC) |
commit | 23ac56db3aa77b298f20b288aadf503fd09a23a9 (patch) (unidiff) | |
tree | fe820ec743bbf829d31ae3ab1436a41a69b1855c | |
parent | dee5f6c5a3bd982913d0b234fb9392ce68d5df63 (diff) | |
download | opie-23ac56db3aa77b298f20b288aadf503fd09a23a9.zip opie-23ac56db3aa77b298f20b288aadf503fd09a23a9.tar.gz opie-23ac56db3aa77b298f20b288aadf503fd09a23a9.tar.bz2 |
Tille ask Diana how she was able to trigger that bug?
I nominate her for the bug finding queen 2002.
Ok I just fixed two possible crashes with the risk of losing
data.
-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 ) | |||
564 | f.close(); | 564 | f.close(); |
565 | if (ba.isEmpty() ) | ||
566 | return; | ||
565 | char *uc = ba.data();//(QChar *)data.unicode(); | 567 | char *uc = ba.data();//(QChar *)data.unicode(); |
@@ -799,3 +801,3 @@ void AbTable::journalFreeReplace( const Contact &cnt, int row ) | |||
799 | strContact; | 801 | strContact; |
800 | AbTableItem *ati; | 802 | AbTableItem *ati = 0l; |
801 | 803 | ||
@@ -804,8 +806,15 @@ void AbTable::journalFreeReplace( const Contact &cnt, int row ) | |||
804 | ati = static_cast<AbTableItem*>(item(row, 0)); | 806 | ati = static_cast<AbTableItem*>(item(row, 0)); |
805 | contactList.remove( ati ); | 807 | if ( ati != 0 ) { |
806 | ati->setItem( strName, strContact ); | 808 | contactList.remove( ati ); |
807 | contactList.insert( ati, cnt ); | 809 | ati->setItem( strName, strContact ); |
808 | 810 | contactList.insert( ati, cnt ); | |
809 | ati = static_cast<AbTableItem*>(item(row, 1)); | 811 | |
810 | ati->setItem( strContact, strName ); | 812 | ati = static_cast<AbTableItem*>(item(row, 1)); |
813 | ati->setItem( strContact, strName ); | ||
814 | }else{ | ||
815 | int myrows = numRows(); | ||
816 | setNumRows( myrows + 1 ); | ||
817 | insertIntoTable( cnt, myrows ); | ||
818 | // gets deleted when returning | ||
819 | } | ||
811 | } | 820 | } |
@@ -1085,3 +1094,3 @@ void AbTable::updateVisible() | |||
1085 | hide = true; | 1094 | hide = true; |
1086 | 1095 | ||
1087 | if (tmpStr == "b") | 1096 | if (tmpStr == "b") |