emailuis/emailui/src/FreestyleEmailDownloadInformationMediator.cpp
branchRCL_3
changeset 18 6b8f3b30d0ec
parent 17 67369d1b217f
--- a/emailuis/emailui/src/FreestyleEmailDownloadInformationMediator.cpp	Tue May 25 12:23:16 2010 +0300
+++ b/emailuis/emailui/src/FreestyleEmailDownloadInformationMediator.cpp	Wed Jun 09 09:22:57 2010 +0300
@@ -99,12 +99,28 @@
 void CFSEmailDownloadInfoMediator::AddObserver( MFSEmailDownloadInformationObserver* aObserver, TFSMailMsgId aMessageId )
 	{
     FUNC_LOG;
-	TRequestObserver newObserver = {aObserver, aMessageId };
+	TRequestObserver newObserver = { aObserver, aMessageId };
+	//To avoid adding duplicate observers 
+	for ( TInt i=0; i<iObserverArray.Count(); i++ )
+	    {
+	    if ( newObserver.iObserver == iObserverArray[i].iObserver && newObserver.iMessageId == iObserverArray[i].iMessageId )
+	        {
+	        return;
+	        }
+	    }
 	iObserverArray.Append( newObserver );
 	}
 
 void CFSEmailDownloadInfoMediator::AddObserver( MFSEmailDownloadInformationObserver* aObserver )
 	{
+    //To avoid adding duplicate observers 
+    for ( TInt i=0; i<iAllObserverArray.Count(); i++ )
+        {
+        if ( aObserver == iAllObserverArray[i] )
+            {
+            return;
+            }
+        }
 	iAllObserverArray.Append(aObserver);
 	}