diff -r 5586b4d2ec3e -r 0d28c1c5b6dd phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CSharedViewArray.cpp --- a/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CSharedViewArray.cpp Wed Apr 14 15:45:35 2010 +0300 +++ b/phonebookengines/VirtualPhonebook/VPbkSimStoreImpl/src/CSharedViewArray.cpp Tue Apr 27 16:23:35 2010 +0300 @@ -67,7 +67,7 @@ TVPbkSimViewConstructionPolicy aConstructionPolicy, MVPbkSimCntStore& aParentStore, const TDesC& aViewName ) { - CSharedViewOwner* viewOwner = FindOwner( aViewName ); + CSharedViewOwner* viewOwner = FindOwner( aSortOrder, aConstructionPolicy, aViewName ); if ( !viewOwner ) { @@ -90,7 +90,14 @@ // void CSharedViewArray::RemoveHandle( CViewHandle& aHandle ) { - CSharedViewOwner* viewOwner = FindOwner( aHandle.SharedView().Name() ); + CSharedViewOwner* viewOwner = NULL; + for ( TInt i=0; iView() == &aHandle.SharedView() ) + { + viewOwner = iSharedViews[i]; + } + } if ( viewOwner ) { viewOwner->RemoveHandle( aHandle ); @@ -108,13 +115,16 @@ // CSharedViewArray::FindOwner // ----------------------------------------------------------------------------- // -CSharedViewOwner* CSharedViewArray::FindOwner( const TDesC& aViewName ) +CSharedViewOwner* CSharedViewArray::FindOwner( + const RVPbkSimFieldTypeArray& aSortOrder, + TVPbkSimViewConstructionPolicy aConstructionPolicy, + const TDesC& aViewName ) { CSharedViewOwner* viewOwner = NULL; const TInt count = iSharedViews.Count(); for ( TInt i = 0; i < count && !viewOwner; ++i ) { - if ( iSharedViews[i]->View().Name().CompareC( aViewName ) == 0 ) + if ( iSharedViews[i]->View().IsMatch( aSortOrder, aConstructionPolicy, aViewName ) ) { viewOwner = iSharedViews[i]; }