installationservices/swi/source/swis/server/restoreprocessor.cpp
changeset 52 92f864ef0288
parent 33 8110bf1194d1
child 75 2d2d25361590
--- a/installationservices/swi/source/swis/server/restoreprocessor.cpp	Fri Jun 11 13:45:18 2010 +0300
+++ b/installationservices/swi/source/swis/server/restoreprocessor.cpp	Wed Jun 23 18:20:02 2010 +0300
@@ -513,10 +513,29 @@
 	                }  		           
 	            }
 	        
+	        //Compare the new affected apps with the existing affected apps and update the existing affected apps if alredy present or 
+            //add to the list if it is a new app.
+            RArray<TAppUpdateInfo> existingAffectedApps;
+            CleanupClosePushL(existingAffectedApps);
+            const_cast<CPlan&>(iPlan).GetAffectedApps(existingAffectedApps);
+            TInt appCount = affectedApps.Count();
+            for(TInt k = 0; k < appCount ; ++k)
+                {
+                TInt count = existingAffectedApps.Count();
+                TUid appUid = affectedApps[k].iAppUid;
+                for(TInt index = 0; index < count ; ++index)
+                   {
+                   if(appUid == existingAffectedApps[index].iAppUid)
+                       {           
+                       existingAffectedApps.Remove(index);                                    
+                       }
+                   }
+                existingAffectedApps.AppendL(affectedApps[k]);
+                }
 	        const_cast<CPlan&>(iPlan).ResetAffectedApps();
 	        const_cast<CPlan&>(iPlan).SetAffectedApps(affectedApps);
 	        
-	        CleanupStack::PopAndDestroy(2, &componentIds);
+	        CleanupStack::PopAndDestroy(3, &componentIds);
 	        }
 	
 #else