diff -r d620048b4810 -r dcf0eedfc1a3 ipsservices/ipssosplugin/src/ipsplgimap4populateop.cpp --- a/ipsservices/ipssosplugin/src/ipsplgimap4populateop.cpp Thu Jul 15 18:19:25 2010 +0300 +++ b/ipsservices/ipssosplugin/src/ipsplgimap4populateop.cpp Thu Aug 19 09:38:05 2010 +0300 @@ -92,6 +92,8 @@ CIpsPlgImap4PopulateOp::~CIpsPlgImap4PopulateOp() { FUNC_LOG; + + Cancel(); iSelection.Close(); if ( iTempSelection ) @@ -216,7 +218,19 @@ } case EStateInfoEntryChange: { - DoPopulateL(); + TMsvEntry tentry; + TMsvId service; + iMsvSession.GetEntry( iService, service, tentry ); + + if( err == KErrNone && tentry.Connected() ) + { + DoPopulateL(); + } + else + { + iState = EStateIdle; + CompleteObserver( err ); + } break; } case EStateIdle: