--- a/emailuis/nmframeworkadapter/src/nmfwamessagesendingoperation.cpp Mon May 03 12:23:15 2010 +0300
+++ b/emailuis/nmframeworkadapter/src/nmfwamessagesendingoperation.cpp Fri May 14 15:41:10 2010 +0300
@@ -51,11 +51,13 @@
*/
NmFwaMessageSendingOperation::~NmFwaMessageSendingOperation()
{
- delete mSaveOperation;
-
+ if (mSaveOperation && mSaveOperation->isRunning()) {
+ mSaveOperation->cancelOperation();
+ }
doCancelOperation();
mMailClient.Close(); // decrease ref count
delete mMessage;
+ NMLOG("NmFwaMessageSendingOperation::~NmFwaMessageSendingOperation --->");
}
/*!
@@ -113,6 +115,9 @@
TRAP_IGNORE(mMailClient.CancelL(mRequestId));
mRequestId = NmNotFoundError;
}
+ if (mSaveOperation && mSaveOperation->isRunning()) {
+ mSaveOperation->cancelOperation();
+ }
}
/*!
@@ -145,9 +150,8 @@
void NmFwaMessageSendingOperation::handleCompletedSaveOperation(int error)
{
if (error == NmNoError) {
- mTimer->stop();
- mTimer->start(1);
mSaved = true;
+ doRunAsyncOperation();
}
else {
completeOperation(NmGeneralError);
@@ -160,11 +164,10 @@
int NmFwaMessageSendingOperation::saveMessageWithSubparts()
{
int ret = NmNotFoundError;
-
if (mMessage) {
- delete mSaveOperation;
- mSaveOperation = NULL;
-
+ if (mSaveOperation && mSaveOperation->isRunning()) {
+ mSaveOperation->cancelOperation();
+ }
mSaveOperation = mPluginInterface.saveMessageWithSubparts(*mMessage);
if (mSaveOperation) {
@@ -186,10 +189,11 @@
*/
int NmFwaMessageSendingOperation::sendMessageL()
{
+ NMLOG("NmFwaMessageSendingOperation::sendMessageL");
int ret = NmNotFoundError;
if (mMessage) {
- TFSMailMsgId mailboxId = NmConverter::nmIdToMailMsgId(mMessage->mailboxId());
+ TFSMailMsgId mailboxId = NmConverter::nmIdToMailMsgId(mMessage->envelope().mailboxId());
CFSMailBox *currentMailbox( NULL );
currentMailbox = mMailClient.GetMailBoxByUidL(mailboxId);
CleanupStack::PushL(currentMailbox);