--- a/email/imap4mtm/imapmailstore/src/cstoreutilities.cpp Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapmailstore/src/cstoreutilities.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -48,7 +48,6 @@
void CStoreUtilities::ConstructL()
{
- User::LeaveIfError(iFs.Connect());
// Create converter objects
iCharacterConverter=CCnvCharacterSetConverter::NewL();
iCharConv=CImConvertCharconv::NewL(*iCharacterConverter, iFs);
--- a/email/imap4mtm/imapprotocolcontroller/src/cimapopfetchbody.cpp Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapprotocolcontroller/src/cimapopfetchbody.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -1565,6 +1565,11 @@
CImHeader *messageheader=CImHeader::NewLC();
ProcessEnvelopeL(messageheader, aMessage, aBodyStructure->GetRfc822EnvelopeStructureL());
+ if(aBodyStructure->EmbeddedBodyStructureList().Count() == 0)
+ {
+ aMessage.iType=KUidMsvAttachmentEntry;
+ }
+
// Create message
User::LeaveIfError(iServerEntry.CreateEntryBulk(aMessage)); // bulk op completed at the end of ProcessBodyStructureL()
SetEntryL(aMessage.Id());
@@ -1583,9 +1588,17 @@
TInt attachments=0;
TInt relatedAttachments;
TBool isMHTML=EFalse;
+ CImapBodyStructure* bodystructure = NULL;
- CImapBodyStructure* bodystructure = aBodyStructure->EmbeddedBodyStructureList()[0];
- BuildTreeL(aMessage.Id(), bodystructure, aPath, aMessage.Id(), attachments, isMHTML, relatedAttachments);
+ if(aBodyStructure->EmbeddedBodyStructureList().Count() > 0)
+ {
+ bodystructure = aBodyStructure->EmbeddedBodyStructureList()[0];
+ }
+ if (bodystructure)
+ {
+ BuildTreeL(aMessage.Id(), bodystructure, aPath, aMessage.Id(), attachments, isMHTML, relatedAttachments);
+ }
+
__LOG_FORMAT((iSession->LogId(), " Built embedded message id %x attachments %d MHTML %d", aMessage.Id(), attachments, isMHTML));
// Save attachment and MHTML flags
@@ -1870,10 +1883,15 @@
iHeaderConverter->DecodeAllHeaderFieldsL(*aHeader);
// Set from line in TMsvEntry
- aEntry.iDetails.Set(aHeader->From());
-
- // Set subject in TMsvEntry
- aEntry.iDescription.Set(aHeader->Subject());
+ if(aHeader->From().Length() > 0)
+ {
+ aEntry.iDetails.Set(aHeader->From());
+ }
+ if(aHeader->Subject().Length() > 0)
+ {
+ // Set subject in TMsvEntry
+ aEntry.iDescription.Set(aHeader->Subject());
+ }
__LOG_TEXT(iSession->LogId(), " Finished processing envelope information");
}
--- a/email/imap4mtm/imapservermtm/inc/cimapupsresponsewaiter.h Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapservermtm/inc/cimapupsresponsewaiter.h Wed Jun 09 09:37:26 2010 +0300
@@ -50,6 +50,7 @@
void DoRunL();
void DoCancel();
private:
+ CImapSettings* iImapSettings;
CMsvServerEntry& iServerEntry;
CImapProtocolController& iImapProtocolController;
CMsvEntrySelection* iEntrySelection;
--- a/email/imap4mtm/imapservermtm/src/cimapupsresponsewaiter.cpp Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapservermtm/src/cimapupsresponsewaiter.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -37,7 +37,8 @@
CImapUpsResponseWaiter::CImapUpsResponseWaiter(CMsvServerEntry& aServerEntry, CImapProtocolController& aImapProtocolController)
:CMsgActive(EPriorityStandard), iServerEntry(aServerEntry), iImapProtocolController(aImapProtocolController)
{
- CActiveScheduler::Add(this);
+ iImapSettings = CImapSettings::NewL(iServerEntry);
+ CActiveScheduler::Add(this);
}
/**
@@ -46,6 +47,7 @@
CImapUpsResponseWaiter::~CImapUpsResponseWaiter()
{
Cancel();
+ delete iImapSettings;
iUpsSubsession.Close();
iUpsSession.Close();
}
@@ -73,28 +75,32 @@
{
iState = EIMAP4MTMConnectAndSynchronise;
}
- iEntrySelection = &aEntrySelection;
+
+ iEntrySelection = &aEntrySelection;
iDecision = EUpsDecNo;
- CImapSettings* imapSettings = CImapSettings::NewL(iServerEntry);
- CleanupStack::PushL(imapSettings);
- imapSettings->LoadSettingsL(iServerEntry.Entry().Id());
+ if( iImapSettings->SettingsLoaded() == EFalse)
+ {
+ iImapSettings->LoadSettingsL(iServerEntry.Entry().Id());
+ }
// Connect to UPS service.....
User::LeaveIfError(iUpsSession.Connect());
+
RThread clientThread;
User::LeaveIfError(clientThread.Open(aClientThreadId));
CleanupClosePushL(clientThread);
- User::LeaveIfError(iUpsSubsession.Initialise(iUpsSession, clientThread));
+
+ User::LeaveIfError(iUpsSubsession.Initialise(iUpsSession, clientThread));
CleanupStack::PopAndDestroy(&clientThread);
-
iStatus=KRequestPending;
- iUpsSubsession.Authorise(aHasCapability, KUidIMAPService, imapSettings->ServerAddress(), iDecision, iStatus);
+ iUpsSubsession.Authorise(aHasCapability, KUidIMAPService, iImapSettings->ServerAddress(), iDecision, iStatus);
+
Queue(aStatus);
SetActive();
- CleanupStack::PopAndDestroy();// imapSettings
+
}
--- a/email/imap4mtm/imapsession/src/cimapbodystructurebuilder.cpp Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapsession/src/cimapbodystructurebuilder.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -216,8 +216,16 @@
// Found a "MESSAGE/RFC822" body structure.
// This contains an embedded bodystructure, so parse up to the structure,
// and then allow the loop to parse the embedded structure.
- ParseBodyTypeMessageRfc822L();
- parseStep = EParseNewBodyStructure;
+ TRAPD(err, ParseBodyTypeMessageRfc822L());
+ if(err == KErrImapCorrupt)
+ {
+ parseStep =EParseRemainderMessageRfc822;
+ }
+ else
+ {
+ parseStep = EParseNewBodyStructure;
+ }
+
}
break;
case EParseRemainderMessageRfc822:
@@ -520,13 +528,14 @@
{
// body-fields SP SP body SP body-fld-lines
ParseBodyFieldsL();
-
- // envelope
- ParseEnvelopeL();
-
- // Expect a body substructure next.
- // Position iAtomWalker at the opening bracket, ready for ParseBodyStructureTypeL
- iAtomWalker->WalkAcrossL(ETrue);
+ //Sometime RFCb22 message has empty evvelopel, in that case we are traping this and processed.
+ TRAPD(err, ParseEnvelopeL());
+
+ // Expect a body substructure next.
+ // Position iAtomWalker at the opening bracket, ready for ParseBodyStructureTypeL
+ iAtomWalker->WalkAcrossL(ETrue);
+ if(err == KErrImapCorrupt)
+ CImapCommand::CorruptDataL(iLogId);
}
/**
--- a/email/imap4mtm/imapsession/src/cimapsession.cpp Tue May 25 12:38:02 2010 +0300
+++ b/email/imap4mtm/imapsession/src/cimapsession.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -1412,21 +1412,14 @@
if (err != KErrNone)
{
- if(err == KErrImapCorrupt)
- {
- continueReadingData = ETrue;
- }
- else
- {
- // As well as completing, destroy the command to help free up resources.
- CompleteAndDestroyCommand(err, ETrue);
+ // As well as completing, destroy the command to help free up resources.
+ CompleteAndDestroyCommand(err, ETrue);
- // Don't allow the session to be called again.
- SetSessionState(ESessionUnrecoverable);
-
- return;
- }
- }// end of if (err != KErrNone)
+ // Don't allow the session to be called again.
+ SetSessionState(ESessionUnrecoverable);
+
+ return;
+ }
// If a literal block is expected next, then find out how big it is expected to be.
switch (commandParseState)
--- a/email/pop3andsmtpmtm/clientmtms/group/IMCM.rss Tue May 25 12:38:02 2010 +0300
+++ b/email/pop3andsmtpmtm/clientmtms/group/IMCM.rss Wed Jun 09 09:37:26 2010 +0300
@@ -203,5 +203,5 @@
RESOURCE INT8 store_plain_body_text
{
- value = 0;
+ value = 1;
}
--- a/messagingappbase/mce/logengsrc/MceLogPbkMatcher.cpp Tue May 25 12:38:02 2010 +0300
+++ b/messagingappbase/mce/logengsrc/MceLogPbkMatcher.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -255,7 +255,7 @@
TInt CMceLogPbkMatcher::RunError(TInt aError)
{
- if( aError == KErrAccessDenied ) // backup active
+ if( aError == KErrAccessDenied || aError == KErrInUse ) // backup active
{
return KErrNone;
}
--- a/messagingappbase/mce/src/MceDeliveryReportView.cpp Tue May 25 12:38:02 2010 +0300
+++ b/messagingappbase/mce/src/MceDeliveryReportView.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -125,7 +125,7 @@
{
TPhCltNameBuffer recipientstring( KNullDesC );
iAvkonAppUi->SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | CAknAppUiBase::EDisableSendKeyLong );
- MsvUiServiceUtilitiesInternal::CallToSenderQueryL( tel, recipientstring, EFalse );
+ MsvUiServiceUtilitiesInternal::CallToSenderQueryL( tel, recipientstring, ETrue );
iAvkonAppUi->SetKeyEventFlags( 0x00 );
}
}
--- a/messagingappbase/msgeditor/viewinc/MsgBodyControlEditor.h Tue May 25 12:38:02 2010 +0300
+++ b/messagingappbase/msgeditor/viewinc/MsgBodyControlEditor.h Wed Jun 09 09:37:26 2010 +0300
@@ -121,6 +121,11 @@
* For handling dynamic layout switch.
*/
void HandleResourceChange( TInt aType );
+
+ /**
+ * Preparing for readonly/ viewers
+ */
+ void PrepareForReadOnlyL( TBool aReadOnly );
public: // from CEikRichTextEditor
--- a/messagingappbase/msgeditor/viewsrc/MsgBodyControlEditor.cpp Tue May 25 12:38:02 2010 +0300
+++ b/messagingappbase/msgeditor/viewsrc/MsgBodyControlEditor.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -119,7 +119,6 @@
CItemFinder::EUriScheme );
iItemFinder->AddObserver( *this );
- iItemFinder->SetItemFinderObserverL( this );
iFocusChangedBeforeParseFinish = EFalse;
@@ -738,5 +737,29 @@
MsgEditorCustomDraw()->SkinChanged();;
}
}
+// ---------------------------------------------------------
+// CMsgBodyControlEditor::PrepareForReadOnlyL
+//
+// Sets SetItemFinderObserverL for viewers
+// ---------------------------------------------------------
+//
+
+void CMsgBodyControlEditor::PrepareForReadOnlyL( TBool aReadOnly )
+ {
+ if ( iItemFinder )
+ {
+ if ( aReadOnly )
+ {
+ iItemFinder->SetItemFinderObserverL( this );
+ }
+ else
+ {
+ iItemFinder->SetItemFinderObserverL( NULL );
+ }
+ }
+
+ CMsgExpandableControlEditor::PrepareForReadOnlyL( aReadOnly );
+ }
+
// End of File
--- a/messagingappbase/ncnlist/src/CNcnSession.cpp Tue May 25 12:38:02 2010 +0300
+++ b/messagingappbase/ncnlist/src/CNcnSession.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -254,7 +254,8 @@
MNcnNotification::TIndicationType indicationType =
static_cast <MNcnNotification::TIndicationType> ( aMessage.Int1() );
CNcnUnpackDescrArray* packedInfo = CNcnUnpackDescrArray::NewLC();
- packedInfo->UnpackL( aMessage, 2 );
+ //Code is commented as a fix for JLEG-843DKF.Since third argument is not used, we don't process it.
+ //packedInfo->UnpackL( aMessage, 2 );
iObserver.HandleNewMessagesL( mailBox, indicationType, *packedInfo );
CleanupStack::PopAndDestroy( packedInfo );
}
--- a/mobilemessaging/mmsui/viewersrc/UniMmsViewerAppUi.cpp Tue May 25 12:38:02 2010 +0300
+++ b/mobilemessaging/mmsui/viewersrc/UniMmsViewerAppUi.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -1190,7 +1190,7 @@
}
iFindItemMenu->AddItemFindMenuL(
- ( iView->ItemFinder()->CurrentSelection().Length() )
+ ( iView->ItemFinder() && iView->ItemFinder()->CurrentSelection().Length() )
? iView->ItemFinder( ) : 0,
aMenuPane,
EFindItemMenuPlaceHolder,
--- a/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp Tue May 25 12:38:02 2010 +0300
+++ b/mobilemessaging/smsui/viewersrc/MsgSmsViewerAppUi.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -1130,11 +1130,11 @@
//Added to remove Copy-option when sender number is not valid (for example it has alphabets)
if ( iFlags.iValidSenderNumber || IsBodyFocused() )
{
+ iFindItemMenu->SetSenderHighlightStatus( ( senderHighlighted &&
+ iView->ControlById( EMsgComponentIdFrom ) == iView->FocusedControl() ) );
+ iFindItemMenu->SetSenderDisplayText( senderNumber );
if( !iFlags.iVoIPNumber )
{
- iFindItemMenu->SetSenderHighlightStatus(
- iView->ControlById( EMsgComponentIdFrom ) == iView->FocusedControl() );
- iFindItemMenu->SetSenderDisplayText( senderNumber );
iFindItemMenu->AddItemFindMenuL(
FindItemHighlighted() ? iView->ItemFinder() : 0,
aMenuPane, EFindItemMenuPlaceHolder,
@@ -1143,9 +1143,6 @@
}
else
{
- iFindItemMenu->SetSenderHighlightStatus(
- iView->ControlById( EMsgComponentIdFrom ) == iView->FocusedControl() );
- iFindItemMenu->SetSenderDisplayText( senderNumber );
iFindItemMenu->AddItemFindMenuL(
FindItemHighlighted() ? iView->ItemFinder() : 0,
aMenuPane, EFindItemMenuPlaceHolder,
@@ -2059,7 +2056,10 @@
//to reduce flickering after sending a message.
if (!(iEditorBaseFeatures & EStayInViewerAfterReply ))
{
- iToolbar->SetToolbarVisibility( EFalse );
+ if(iToolbar)
+ {
+ iToolbar->SetToolbarVisibility( EFalse );
+ }
iView->MakeVisible( EFalse );
iNaviDecorator->MakeVisible( EFalse );
}
@@ -2069,7 +2069,10 @@
{
iNaviDecorator->MakeVisible( ETrue );
iView->MakeVisible( ETrue );
- iToolbar->SetToolbarVisibility( ETrue );
+ if(iToolbar)
+ {
+ iToolbar->SetToolbarVisibility( ETrue );
+ }
}
}
--- a/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp Tue May 25 12:38:02 2010 +0300
+++ b/mobilemessaging/unieditor/application/src/UniEditorAppUi.cpp Wed Jun 09 09:37:26 2010 +0300
@@ -3565,11 +3565,15 @@
CleanupStack::PushL( TCleanupItem( DisableSendKey, this ) );
// add to current control or To control
TBool addressesAdded(EFalse);
- TRAP_IGNORE( addressesAdded = iHeader->AddRecipientL( iView->FocusedControl(),
+ TRAPD( err, addressesAdded = iHeader->AddRecipientL( iView->FocusedControl(),
iView,
AcceptEmailAddresses(),
- invalid ));
-
+ invalid ) );
+ if( err == KLeaveExit )
+ {
+ CAknEnv::RunAppShutter();
+ }
+
CleanupStack::PopAndDestroy(2);//DisableSendKey,UpdateFixedToolbar
iEditorFlags &= ~EMsgEditInProgress;