author | jgf <jgf> | 2004-01-07 00:24:52 (UTC) |
---|---|---|
committer | jgf <jgf> | 2004-01-07 00:24:52 (UTC) |
commit | 656e80e7b35c4aefd49ffe7756d895f4e7370de1 (patch) (side-by-side diff) | |
tree | 41448111df3e76f9185203f97405b141e830d9e6 | |
parent | a0ea0a96c91d95aa379a086238de18075ee5e4b5 (diff) | |
download | opie-656e80e7b35c4aefd49ffe7756d895f4e7370de1.zip opie-656e80e7b35c4aefd49ffe7756d895f4e7370de1.tar.gz opie-656e80e7b35c4aefd49ffe7756d895f4e7370de1.tar.bz2 |
pop3 crash - quick fix
-rw-r--r-- | noncore/net/mail/libmailwrapper/genericwrapper.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/noncore/net/mail/libmailwrapper/genericwrapper.cpp b/noncore/net/mail/libmailwrapper/genericwrapper.cpp index 714396b..2d1596d 100644 --- a/noncore/net/mail/libmailwrapper/genericwrapper.cpp +++ b/noncore/net/mail/libmailwrapper/genericwrapper.cpp @@ -427,77 +427,78 @@ QString Genericwrapper::fetchTextPart(const RecMail&mail,const RecPart&part) void Genericwrapper::cleanMimeCache() { QMap<QString,encodedString*>::Iterator it = bodyCache.begin(); for (;it!=bodyCache.end();++it) { encodedString*t = it.data(); //it.setValue(0); if (t) delete t; } bodyCache.clear(); qDebug("Genericwrapper: cache cleaned"); } void Genericwrapper::parseList(QList<RecMail> &target,mailsession*session,const QString&mailbox) { int r; mailmessage_list * env_list = 0; r = mailsession_get_messages_list(session,&env_list); if (r != MAIL_NO_ERROR) { qDebug("Error message list"); return; } r = mailsession_get_envelopes_list(session, env_list); if (r != MAIL_NO_ERROR) { qDebug("Error filling message list"); if (env_list) { mailmessage_list_free(env_list); } return; } mailimf_references * refs; uint32_t i = 0; for(; i < carray_count(env_list->msg_tab) ; ++i) { mailmessage * msg; QBitArray mFlags(7); msg = (mailmessage*)carray_get(env_list->msg_tab, i); if (msg->msg_fields == NULL) { qDebug("could not fetch envelope of message %i", i); continue; } RecMail * mail = new RecMail(); mail->setWrapper(this); mail_flags * flag_result = 0; r = mailmessage_get_flags(msg,&flag_result); if (r == MAIL_ERROR_NOT_IMPLEMENTED) { mFlags.setBit(FLAG_SEEN); } mailimf_single_fields single_fields; mailimf_single_fields_init(&single_fields, msg->msg_fields); mail->setMsgsize(msg->msg_size); mail->setFlags(mFlags); mail->setMbox(mailbox); mail->setNumber(msg->msg_index); if (single_fields.fld_subject) mail->setSubject( convert_String(single_fields.fld_subject->sbj_value)); if (single_fields.fld_from) mail->setFrom(parseMailboxList(single_fields.fld_from->frm_mb_list)); if (single_fields.fld_to) mail->setTo( parseAddressList( single_fields.fld_to->to_addr_list ) ); if (single_fields.fld_cc) mail->setCC( parseAddressList( single_fields.fld_cc->cc_addr_list ) ); if (single_fields.fld_bcc) mail->setBcc( parseAddressList( single_fields.fld_bcc->bcc_addr_list ) ); if (single_fields.fld_orig_date) mail->setDate( parseDateTime( single_fields.fld_orig_date->dt_date_time ) ); - if (single_fields.fld_message_id->mid_value) - mail->setMsgid(QString(single_fields.fld_message_id->mid_value)); + // crashes when accessing pop3 account + // if (single_fields.fld_message_id->mid_value) + // mail->setMsgid(QString(single_fields.fld_message_id->mid_value)); refs = single_fields.fld_references; if (refs && refs->mid_list && clist_count(refs->mid_list)) { char * text = (char*)refs->mid_list->first->data; mail->setReplyto(QString(text)); } target.append(mail); } if (env_list) { mailmessage_list_free(env_list); } } |