author | eilers <eilers> | 2003-01-13 15:49:31 (UTC) |
---|---|---|
committer | eilers <eilers> | 2003-01-13 15:49:31 (UTC) |
commit | 6bae3504f8eacd604bc6d543d3eb09f996221dcc (patch) (side-by-side diff) | |
tree | 14032f862c724319b7b538e054cd53c11994bb4d /libopie/pim | |
parent | 01f7b3b512bbb729ac44808748365699748f3d4c (diff) | |
download | opie-6bae3504f8eacd604bc6d543d3eb09f996221dcc.zip opie-6bae3504f8eacd604bc6d543d3eb09f996221dcc.tar.gz opie-6bae3504f8eacd604bc6d543d3eb09f996221dcc.tar.bz2 |
Fixing crash when businesscard.vcf is missing..
-rw-r--r-- | libopie/pim/ocontactaccessbackend_vcard.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/libopie/pim/ocontactaccessbackend_vcard.cpp b/libopie/pim/ocontactaccessbackend_vcard.cpp index ca9e410..1dc6b48 100644 --- a/libopie/pim/ocontactaccessbackend_vcard.cpp +++ b/libopie/pim/ocontactaccessbackend_vcard.cpp @@ -1,84 +1,93 @@ /* * VCard Backend for the OPIE-Contact Database. * * Copyright (C) 2000 Trolltech AS. All rights reserved. * Copyright (c) 2002 by Stefan Eilers (Eilers.Stefan@epost.de) * * ===================================================================== * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * ===================================================================== * ToDo: * * ===================================================================== * Version: $Id$ * ===================================================================== * History: * $Log$ + * Revision 1.6 2003/01/13 15:49:31 eilers + * Fixing crash when businesscard.vcf is missing.. + * * Revision 1.5 2002/12/07 13:26:22 eilers * Fixing bug in storing anniversary.. * * Revision 1.4 2002/11/13 14:14:51 eilers * Added sorted for Contacts.. * * Revision 1.3 2002/11/11 16:41:09 kergoth * no default arguments in implementation * * Revision 1.2 2002/11/10 15:41:53 eilers * Bugfixes.. * * Revision 1.1 2002/11/09 14:34:52 eilers * Added VCard Backend. * */ #include "ocontactaccessbackend_vcard.h" #include "../../library/backend/vobject_p.h" #include "../../library/backend/qfiledirect_p.h" #include <qpe/timeconversion.h> #include <qfile.h> OContactAccessBackend_VCard::OContactAccessBackend_VCard ( QString , QString filename ): m_dirty( false ), m_file( filename ) { load(); } bool OContactAccessBackend_VCard::load () { m_map.clear(); m_dirty = false; VObject* obj = 0l; - obj = Parse_MIME_FromFileName( QFile::encodeName(m_file).data() ); - if ( !obj ) + + if ( QFile( m_file ).exists() ){ + obj = Parse_MIME_FromFileName( QFile::encodeName(m_file).data() ); + if ( !obj ) + return false; + }else{ + qWarning("File \"%s\" not found !", m_file.latin1() ); return false; + } while ( obj ) { OContact con = parseVObject( obj ); /* * if uid is 0 assign a new one * this at least happens on * Nokia6210 */ if ( con.uid() == 0 ){ con.setUid( 1 ); qWarning("assigned new uid %d",con.uid() ); } m_map.insert( con.uid(), con ); VObject *t = obj; obj = nextVObjectInList(obj); cleanVObject( t ); } return true; } bool OContactAccessBackend_VCard::reload() |