realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp
branchRCL_3
changeset 43 b5e99d8877c7
parent 41 f54bfd820e04
child 44 0dcb073356a5
--- a/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Thu Aug 19 10:16:25 2010 +0300
+++ b/realtimenetprots/sipfw/ProfileAgent/Server/Src/SipProfileServerCore.cpp	Tue Aug 31 15:32:57 2010 +0300
@@ -396,7 +396,14 @@
     	{
     	return EFalse;
     	}
-
+    
+      if((aError != KErrNone) && item->HasQueuedUpdate())
+        {
+        PROFILE_DEBUG4("ProfileServerCore::ProceedRegistration HasQueuedUpdate, err",
+			item->HasQueuedUpdate(), aError)
+        return EFalse;
+        }
+    
     if ( ShouldChangeIap(item->UsedProfile(), aError) && 
     	 !item->SnapRetryCountReached() )
         {
@@ -1546,6 +1553,7 @@
     if (index != KErrNotFound)
         {
         iObservers.Remove(index);
+        iObservers.Compress();
         }
 
     for (TInt i = 0; i < iProfileCache.Count(); i ++)
@@ -1926,6 +1934,7 @@
     if (index >= 0)
     	{
     	iProfileCache.Remove(index);
+    	iProfileCache.Compress();
     	}
 	}
 
@@ -1942,7 +1951,9 @@
 			{
 			CSipAlrMigrationController* unused = iMigrationControllers[i];
 			iMigrationControllers.Remove(i);
+			iMigrationControllers.Compress();
 			delete unused;
+			unused = NULL;
 			}
 		}
 	}