lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp
branchRCL_3
changeset 23 3d340a0166ff
parent 0 2f259fa3e83a
--- a/lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp	Tue Apr 27 16:55:05 2010 +0300
+++ b/lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp	Tue May 11 16:27:42 2010 +0300
@@ -169,11 +169,13 @@
 void CCoeEnvExtra::AddObserverL(RArray<TAny*>& aArrayOfObservers, TAny* aObserver)
 	{
 	__ASSERT_ALWAYS(aObserver!=NULL, Panic(ECoePanicIllegalNullParameter3));
+	CleanupClosePushL(aArrayOfObservers);
 	for (TInt i=aArrayOfObservers.Count()-1; i>=0; --i)
 		{
 		__ASSERT_ALWAYS(aArrayOfObservers[i]!=aObserver, Panic(ECoePanicFocusObserverHasAlreadyBeenAdded));
 		}
 	User::LeaveIfError(aArrayOfObservers.Append(aObserver));
+	CleanupStack::Pop(&aArrayOfObservers);
 	}
 
 void CCoeEnvExtra::RemoveObserver(RArray<TAny*>& aArrayOfObservers, const TAny* aObserver)