diff -r cfd5c2994f10 -r 113b91e0a2ad imservices/instantmessagingcache/imcacheserver/src/cimcachesession.cpp --- a/imservices/instantmessagingcache/imcacheserver/src/cimcachesession.cpp Tue Aug 31 15:31:29 2010 +0300 +++ b/imservices/instantmessagingcache/imcacheserver/src/cimcachesession.cpp Wed Sep 01 12:27:45 2010 +0100 @@ -241,7 +241,14 @@ if( iPacketsArray.Count() ) { CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ; - iObserverMessage.Complete( packet->OperationCode() ); + if( packet->OperationCode() == EIMOperationFetchAll ) + { + iObserverMessage.Complete( EIMOperationDataAvailable ); + } + else + { + iObserverMessage.Complete( packet->OperationCode() ); + } iObserverActive = EFalse; } @@ -278,7 +285,14 @@ if( iPacketsArray.Count() ) { CIMCacheBufferArray* packet = iPacketsArray[ 0 ] ; - iObserverMessage.Complete( packet->OperationCode() ); + if( packet->OperationCode() == EIMOperationFetchAll ) + { + iObserverMessage.Complete( EIMOperationUnreadChange ); + } + else + { + iObserverMessage.Complete( packet->OperationCode() ); + } iObserverActive = EFalse; } break; @@ -560,7 +574,7 @@ { // write the message into continuous memory stream if( iAccessorInitialized || - iConvesationInitialized && aMsgHeader->IsChatStarted() ) + iConvesationInitialized /*&& aMsgHeader->IsChatStarted()*/ ) { ExternalizeSingleChatDataL(EIMOperationUnreadMessage, aMsgHeader, aMessage ); if( iObserverActive )