diff -r a8834a2e9a96 -r c52421ed5f07 uifw/AvKon/src/aknmessagequerydialog.cpp --- a/uifw/AvKon/src/aknmessagequerydialog.cpp Wed Jun 09 09:58:37 2010 +0300 +++ b/uifw/AvKon/src/aknmessagequerydialog.cpp Mon Jun 21 15:57:43 2010 +0300 @@ -302,8 +302,11 @@ else { // SetLinkTextL creates new callback in the callback array for the new link - iMsgQueryExtension->iFormatTextArray.Append( aLinkText.AllocL() ); - iMsgQueryExtension->iFormatTypeArray.Append( EMsgQueryLink ); + HBufC* linkText = aLinkText.AllocL(); + CleanupStack::PushL( linkText ); + iMsgQueryExtension->iFormatTextArray.AppendL( linkText ); + CleanupStack::Pop( linkText ); + iMsgQueryExtension->iFormatTypeArray.AppendL( EMsgQueryLink ); // If the other method SetLink has been already called // the new link is finished by adding the link count @@ -346,7 +349,10 @@ if ( iMsgQueryExtension->iCallBackArray.Count() < iMsgQueryExtension->iLinkCount ) { // SetLink creates new callback in the callback array for the new link - iMsgQueryExtension->iCallBackArray.Append( aCallBack ); + if ( KErrNone != iMsgQueryExtension->iCallBackArray.Append( aCallBack ) ) + { + return; + } } } else if ( iMsgQueryExtension->iLinkCount < KMaxLinks ) @@ -359,7 +365,10 @@ else { // SetLink creates new callback in the callback array for the new link - iMsgQueryExtension->iCallBackArray.Append( aCallBack ); + if ( KErrNone != iMsgQueryExtension->iCallBackArray.Append( aCallBack ) ) + { + return; + } // If the other method SetLinkText has been already called // the new link is finished by adding the link count @@ -688,7 +697,7 @@ } delete messageBuf; } - iMsgQueryExtension->iFormatTextLocationArray.Append( linkTextLocation ); + iMsgQueryExtension->iFormatTextLocationArray.AppendL( linkTextLocation ); return ETrue; }