lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp
changeset 30 56e9a0aaad89
parent 0 2f259fa3e83a
--- a/lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp	Thu May 27 13:07:04 2010 +0300
+++ b/lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp	Fri Jun 11 13:54:51 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)