--- 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; i<iSharedViews.Count()&&!viewOwner; i++ )
+ {
+ if ( &iSharedViews[i]->View() == &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];
}