diff -r 99bcbff212ad -r c2d07d913565 emailservices/nmclientapi/src/nmapiengine.cpp --- a/emailservices/nmclientapi/src/nmapiengine.cpp Fri May 28 13:56:43 2010 +0300 +++ b/emailservices/nmclientapi/src/nmapiengine.cpp Thu Jun 10 16:14:05 2010 +0300 @@ -110,10 +110,18 @@ switch (mailboxEvent) { case NmMailboxCreated: { message.action = ENew; + // subscribe all events also for these new mailboxes + for(int i=0; iinterfaceInstance()->subscribeMailboxEvents(mailboxIds[i]); + } } break; case NmMailboxDeleted: { message.action = EDeleted; + // unsubscribe all events from deleted mailboxes + for(int i=0; iinterfaceInstance()->unsubscribeMailboxEvents(mailboxIds[i]); + } } break; case NmMailboxChanged: { @@ -222,7 +230,13 @@ while (mailboxFromPlugin.isEmpty() == false) { NmMailbox* tempNmMailbox = mailboxFromPlugin.takeLast(); + + // subscribe all events also for these new mailboxes + instance->subscribeMailboxEvents(tempNmMailbox->id()); + + // construct mailboxlist to platform api mailboxList << NmToApiConverter::NmMailbox2NmApiMailbox(*tempNmMailbox); + delete tempNmMailbox; } } @@ -333,7 +347,6 @@ envelope.setTotalSize(message->size()); found = true; - delete plainTextPart; } delete message; }