--- 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; i<mailboxIds.count(); i++) {
+ mFactory->interfaceInstance()->subscribeMailboxEvents(mailboxIds[i]);
+ }
}
break;
case NmMailboxDeleted: {
message.action = EDeleted;
+ // unsubscribe all events from deleted mailboxes
+ for(int i=0; i<mailboxIds.count(); i++) {
+ mFactory->interfaceInstance()->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;
}