diff -r dcf0eedfc1a3 -r d189ee25cf9d ipsservices/ipssosplugin/src/ipsplgdeletelocal.cpp --- a/ipsservices/ipssosplugin/src/ipsplgdeletelocal.cpp Thu Aug 19 09:38:05 2010 +0300 +++ b/ipsservices/ipssosplugin/src/ipsplgdeletelocal.cpp Tue Aug 31 15:04:17 2010 +0300 @@ -42,11 +42,20 @@ // ---------------------------------------------------------------------------- // void CIpsPlgDeleteLocal::ConstructL( - CMsvEntrySelection& aMessageSelection ) + CMsvEntrySelection* aMessageSelection ) { FUNC_LOG; + // + // Start cache manager to prune messages + // CImCacheManager::ConstructL(); - iMessageSelection = aMessageSelection.CopyL(); + // + iMessageSelection = new (ELeave) CMsvEntrySelection(); + for ( TInt i=0; iCount(); i++ ) + { + iMessageSelection->AppendL( aMessageSelection->At(i) ); + } + // StartL( *iMessageSelection, iObserverRequestStatus ); } @@ -55,7 +64,7 @@ // ---------------------------------------------------------------------------- // CIpsPlgDeleteLocal* CIpsPlgDeleteLocal::NewL( - CMsvEntrySelection& aMessageSelection, + CMsvEntrySelection* aMessageSelection, CMsvSession& aMsvSession, TRequestStatus& aObserverRequestStatus) { @@ -89,11 +98,13 @@ TBool CIpsPlgDeleteLocal::Filter() const { FUNC_LOG; - if ( iMessageSelection->Find( iCurrentEntry->Entry().Id() ) - > KErrNotFound ) + // + if ( iMessageSelection->Find( + iCurrentEntry->Entry().Id() ) == KErrNone ) { return ETrue; } + // return EFalse; }