diff -r 0aa5fbdfbc30 -r 3d340a0166ff lafagnosticuifoundation/cone/src/CoeEnvExtra.cpp --- 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& 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& aArrayOfObservers, const TAny* aObserver)