# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1276064901 -10800 # Node ID e3a25416bf1f2688b7a7a7f66e3ffb49cb905128 # Parent 326673dff2bfde2809cc5648586f15ef1f26dc48 Revision: 201021 Kit: 2010123 diff -r 326673dff2bf -r e3a25416bf1f csxhelp/HelpEngine/src/CSXHLegacyContentParser.cpp --- a/csxhelp/HelpEngine/src/CSXHLegacyContentParser.cpp Tue May 25 12:28:46 2010 +0300 +++ b/csxhelp/HelpEngine/src/CSXHLegacyContentParser.cpp Wed Jun 09 09:28:21 2010 +0300 @@ -156,6 +156,10 @@ if(appName.Compare(aTopic->GetName())==0) break; } + if( nIndex == nCount ) + { + return NULL; + } if(iTopic) { delete iTopic; diff -r 326673dff2bf -r e3a25416bf1f csxhelp/HelpEngine/src/CSXHLegacyTOC1.cpp --- a/csxhelp/HelpEngine/src/CSXHLegacyTOC1.cpp Tue May 25 12:28:46 2010 +0300 +++ b/csxhelp/HelpEngine/src/CSXHLegacyTOC1.cpp Wed Jun 09 09:28:21 2010 +0300 @@ -70,8 +70,6 @@ void CCSXHLegacyTOC1::InitChildList() { - if(iChildList != NULL) - return; ConstructChildList(); TRAP_IGNORE(CCSXHHelpDataBase::GetInstance()-> diff -r 326673dff2bf -r e3a25416bf1f csxhelp/src/CSXHLegacyTopicContainer.cpp --- a/csxhelp/src/CSXHLegacyTopicContainer.cpp Tue May 25 12:28:46 2010 +0300 +++ b/csxhelp/src/CSXHLegacyTopicContainer.cpp Wed Jun 09 09:28:21 2010 +0300 @@ -33,6 +33,7 @@ #include #include #include +#include CCSXHLegacyTopicContainer* CCSXHLegacyTopicContainer::NewL(const TRect& aRect,CCSXHDocument &aDocument,CCSXHLegacyTOC2 *aTopic) @@ -69,12 +70,18 @@ GetTextFormat(); iEdwin = new(ELeave) CEikEdwin(); - const TInt flags(CEikEdwin::EKeepDocument | - CEikEdwin::EUserSuppliedText | - CEikEdwin::ENoAutoSelection | - CEikEdwin::EAvkonDisableCursor | - CEikEdwin::EReadOnly | - CEikEdwin::EDisplayOnly); + TInt flags(CEikEdwin::EKeepDocument | + CEikEdwin::EUserSuppliedText | + CEikEdwin::ENoAutoSelection | + CEikEdwin::EAvkonDisableCursor | + CEikEdwin::EReadOnly | + CEikEdwin::EDisplayOnly); + + if ( iText == NULL ) + { + flags = flags & ~CEikEdwin::EUserSuppliedText; + } + iEdwin->SetContainerWindowL(*this); iEdwin->ConstructL(flags); @@ -82,7 +89,10 @@ CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto); SetTextL(iText); - FormatRichTextL(*iText); + if( iText != NULL ) + { + FormatRichTextL(*iText); + } SetRect(aRect); ActivateL(); } @@ -98,15 +108,26 @@ iTopic = aTopic; iText = STATIC_CAST(CRichText*,iTopic->GetTopicContentL()); SetTextL(iText); - FormatRichTextL(*iText); + if( iText != NULL ) + { + FormatRichTextL(*iText); + } SizeChanged(); } void CCSXHLegacyTopicContainer::SetTextL(CRichText* aText) { - iEdwin->SetDocumentContentL(*aText, CEikEdwin::EUseText); - iEdwin->SetCursorPosL(0, EFalse); - + if( aText == NULL ) + { + HBufC* errorMessage = iCoeEnv->AllocReadResourceLC( R_TYPE_NO_HELP_TOPICS ); + iEdwin->SetTextL( errorMessage ); + CleanupStack::PopAndDestroy( errorMessage ); + } + else + { + iEdwin->SetDocumentContentL(*aText, CEikEdwin::EUseText); + iEdwin->SetCursorPosL(0, EFalse); + } } void CCSXHLegacyTopicContainer::FocusChanged(TDrawNow aDrawNow)