diff -r 3b098142db83 -r 92dbd2a406d9 mmappcomponents/collectionhelper/src/mpxcollectionuihelperimp.cpp --- a/mmappcomponents/collectionhelper/src/mpxcollectionuihelperimp.cpp Fri Sep 17 08:33:08 2010 +0300 +++ b/mmappcomponents/collectionhelper/src/mpxcollectionuihelperimp.cpp Mon Oct 04 00:50:27 2010 +0300 @@ -84,7 +84,7 @@ iChunkSize = 0; iArrayIndex = 0; iRefCount = 1; - + iModeId = aModeId; } @@ -1049,21 +1049,24 @@ // void CMPXCollectionUiHelperImp::Close() { - - ASSERT( iRefCount > 0 ); - if ( --iRefCount == 0 ) + if ( iModeId == KMcModeDefault ) { - // last client released - CMPXCollectionUiHelperImp* s = reinterpret_cast( Dll::Tls() ); - if ( s ) + ASSERT( iRefCount > 0 ); + if ( --iRefCount == 0 ) { - if ( s == this ) + // last client released + CMPXCollectionUiHelperImp* s = reinterpret_cast( Dll::Tls() ); + if ( s && s == this ) { delete this; Dll::SetTls( NULL ); } } } + else + { + delete this; + } } // ---------------------------------------------------------------------------