metadataengine/client/src/mdesessionimpl.cpp
changeset 1 acef663c1218
parent 0 c53acadfccc6
child 2 b73a2e62868f
--- a/metadataengine/client/src/mdesessionimpl.cpp	Mon Jan 18 20:34:07 2010 +0200
+++ b/metadataengine/client/src/mdesessionimpl.cpp	Tue Jan 26 12:13:20 2010 +0200
@@ -222,6 +222,9 @@
 
 CMdESessionImpl::~CMdESessionImpl()
 	{
+    // No session errors should be sent during deconstruction to avoid possible double deletion
+    iSessionObserver = NULL;
+    
 	Close();
 
 	delete iSchemaBuffer;
@@ -450,7 +453,7 @@
 
 	CMdENamespaceDef& defaultNamespaceDef = GetDefaultNamespaceDefL();
 
-    TInt index = FindNotifier( ESchemaModify, &aObserver, defaultNamespaceDef );
+    const TInt index = FindNotifier( ESchemaModify, &aObserver, defaultNamespaceDef );
     if ( index != KErrNotFound )
         {
 	    iNotifiers[index]->Cancel();
@@ -1628,7 +1631,7 @@
 	CleanupStack::Pop( successfulBuffer );
 	CleanupClosePushL( dataBuffer );
     
-    TInt firstItemError = DeserializeIdsL( dataBuffer, NULL, NULL, 
+    const TInt firstItemError = DeserializeIdsL( dataBuffer, NULL, NULL, 
     		&aSuccessful );
     CleanupStack::PopAndDestroy( &dataBuffer ); // successfulBuffer, buffer
     CleanupStack::PopAndDestroy( buffer ); // successfulBuffer, buffer
@@ -2093,7 +2096,7 @@
 	CleanupClosePushL( dataBuffer );
 	
     iSession.DoRemoveItemsL( *buffer, *successfulBuffer );
-    TInt firstItemError = DeserializeIdsL( dataBuffer, NULL, 
+    const TInt firstItemError = DeserializeIdsL( dataBuffer, NULL, 
     		&aSuccessful );
 
     CleanupStack::PopAndDestroy( &dataBuffer );
@@ -2511,7 +2514,7 @@
     	namespaceDef = aNamespaceDef;
     	}
 
-    TInt index = FindNotifier( 
+    const TInt index = FindNotifier( 
     		EObjectNotifyAdd | EObjectNotifyModify | EObjectNotifyRemove,
     		&aObserver, *namespaceDef );
     if ( index != KErrNotFound )
@@ -2533,7 +2536,7 @@
 	// if namespace is not given get default namespace definition
     CMdENamespaceDef& namespaceDef = GetDefaultNamespaceDefL();
 
-    TInt index = FindNotifier( EObjectNotifyPresent | EObjectNotifyNotPresent,
+    const TInt index = FindNotifier( EObjectNotifyPresent | EObjectNotifyNotPresent,
     		&aObserver, namespaceDef );
     if ( index != KErrNotFound )
         {
@@ -2562,7 +2565,7 @@
     	namespaceDef = aNamespaceDef;
     	}
 
-    TInt index = FindNotifier( 
+    const TInt index = FindNotifier( 
     		ERelationNotifyAdd | ERelationNotifyModify | ERelationNotifyRemove,
     		&aObserver, *namespaceDef );
     if ( index != KErrNotFound )
@@ -2592,7 +2595,7 @@
     	namespaceDef = aNamespaceDef;
     	}
 
-    TInt index = FindNotifier( 
+    const TInt index = FindNotifier( 
     		/*ERelationItemNotifyAdd | ERelationItemNotifyModify |*/ 
     		ERelationItemNotifyRemove,
     		&aObserver, *namespaceDef );
@@ -2615,7 +2618,7 @@
 	// if namespace is not given get default namespace definition
     CMdENamespaceDef& namespaceDef = GetDefaultNamespaceDefL();
 
-    TInt index = FindNotifier( 
+    const TInt index = FindNotifier( 
     		ERelationNotifyPresent | ERelationNotifyNotPresent,
     		&aObserver, namespaceDef );
     if ( index != KErrNotFound )
@@ -2645,7 +2648,7 @@
     	namespaceDef = aNamespaceDef;
     	}
     
-    TInt index = FindNotifier( EEventNotifyAdd | EEventNotifyRemove,
+    const TInt index = FindNotifier( EEventNotifyAdd | EEventNotifyRemove,
     		&aObserver, *namespaceDef );
     if ( index != KErrNotFound )
         {
@@ -2676,7 +2679,7 @@
 
 void CMdESessionImpl::NotifierInError( CMdENotifierAO* aNotifier )
     {
-    TInt index = iNotifiers.Find( aNotifier );
+    const TInt index = iNotifiers.Find( aNotifier );
     delete aNotifier;
     iNotifiers.Remove( index );
     }