diff -r dcf0eedfc1a3 -r d189ee25cf9d ipsservices/ipssosplugin/src/ipsplgmsgiterator.cpp --- a/ipsservices/ipssosplugin/src/ipsplgmsgiterator.cpp Thu Aug 19 09:38:05 2010 +0300 +++ b/ipsservices/ipssosplugin/src/ipsplgmsgiterator.cpp Tue Aug 31 15:04:17 2010 +0300 @@ -225,12 +225,11 @@ TInt status; TInt baseIndex; - if ( !iMessages ) - { - // Messages are sorted before first reading the messages - Sort(); - iMessages = FilterMessagesL(); - } + // Messages are sorted always before reading the messages + Sort(); + + CMsvEntrySelection* messages = FilterMessagesL(); + CleanupStack::PushL( messages ); status = SearchL( iMessages, aStartWith, baseIndex ); @@ -267,7 +266,7 @@ { fsMsg = iMsgMapper->GetMailMessageL( iMailboxId, entry, iRequestedDetails ); - aMessages.Append( fsMsg ); + aMessages.AppendL( fsMsg ); counter++; } i++; @@ -307,7 +306,7 @@ { fsMsg = iMsgMapper->GetMailMessageL( iMailboxId, entry, iRequestedDetails ); - aMessages.Insert( fsMsg, 0 ); + aMessages.InsertL( fsMsg, 0 ); counter++; } i--;