author | zecke <zecke> | 2004-10-20 16:53:01 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-10-20 16:53:01 (UTC) |
commit | 4f9e547592286caa541042454cf7815aa42f2e11 (patch) (unidiff) | |
tree | 3a6249fc0f92e005e6b8cd01ec41027da10bb56b /libopie2 | |
parent | 553864fc23dc7b0f7caab0394361174c25c9287c (diff) | |
download | opie-4f9e547592286caa541042454cf7815aa42f2e11.zip opie-4f9e547592286caa541042454cf7815aa42f2e11.tar.gz opie-4f9e547592286caa541042454cf7815aa42f2e11.tar.bz2 |
- touch ~/Applications/addressbook/addressbook.xml lead to a Crash on XML
loading. Don't assume that the Child of the first element is present
-rw-r--r-- | libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp index 00d62ee..18113c2 100644 --- a/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp +++ b/libopie2/opiepim/backend/ocontactaccessbackend_xml.cpp | |||
@@ -591,25 +591,25 @@ bool OPimContactAccessBackend_XML::load( const QString filename, bool isJournal | |||
591 | dict.insert( "action", new int(JOURNALACTION) ); | 591 | dict.insert( "action", new int(JOURNALACTION) ); |
592 | dict.insert( "actionrow", new int(JOURNALROW) ); | 592 | dict.insert( "actionrow", new int(JOURNALROW) ); |
593 | 593 | ||
594 | //owarn << "OPimContactDefaultBackEnd::loading " << filename << "" << oendl; | 594 | //owarn << "OPimContactDefaultBackEnd::loading " << filename << "" << oendl; |
595 | 595 | ||
596 | XMLElement *root = XMLElement::load( filename ); | 596 | XMLElement *root = XMLElement::load( filename ); |
597 | if(root != 0l ){ // start parsing | 597 | if(root != 0l ){ // start parsing |
598 | /* Parse all XML-Elements and put the data into the | 598 | /* Parse all XML-Elements and put the data into the |
599 | * Contact-Class | 599 | * Contact-Class |
600 | */ | 600 | */ |
601 | XMLElement *element = root->firstChild(); | 601 | XMLElement *element = root->firstChild(); |
602 | //owarn << "OPimContactAccess::load tagName(): " << root->tagName() << "" << oendl; | 602 | //owarn << "OPimContactAccess::load tagName(): " << root->tagName() << "" << oendl; |
603 | element = element->firstChild(); | 603 | element = element ? element->firstChild() : 0; |
604 | 604 | ||
605 | /* Search Tag "Contacts" which is the parent of all Contacts */ | 605 | /* Search Tag "Contacts" which is the parent of all Contacts */ |
606 | while( element && !isJournal ){ | 606 | while( element && !isJournal ){ |
607 | if( element->tagName() != QString::fromLatin1("Contacts") ){ | 607 | if( element->tagName() != QString::fromLatin1("Contacts") ){ |
608 | //owarn << "OPimContactDefBack::Searching for Tag \"Contacts\"! Found: " | 608 | //owarn << "OPimContactDefBack::Searching for Tag \"Contacts\"! Found: " |
609 | // << element->tagName() << oendl; | 609 | // << element->tagName() << oendl; |
610 | element = element->nextChild(); | 610 | element = element->nextChild(); |
611 | } else { | 611 | } else { |
612 | element = element->firstChild(); | 612 | element = element->firstChild(); |
613 | break; | 613 | break; |
614 | } | 614 | } |
615 | } | 615 | } |