diff --git a/src/apps/haiku-depot/textview/MarkupParser.cpp b/src/apps/haiku-depot/textview/MarkupParser.cpp index 301f674aa9..8102cdf047 100644 --- a/src/apps/haiku-depot/textview/MarkupParser.cpp +++ b/src/apps/haiku-depot/textview/MarkupParser.cpp @@ -32,7 +32,7 @@ MarkupParser::MarkupParser() MarkupParser::MarkupParser(const CharacterStyle& characterStyle, - const ParagraphStyle& paragraphStyle) + const ParagraphStyle& paragraphStyle) : fNormalStyle(characterStyle), fBoldStyle(), @@ -51,6 +51,16 @@ MarkupParser::MarkupParser(const CharacterStyle& characterStyle, } +void +MarkupParser::SetStyles(const CharacterStyle& characterStyle, + const ParagraphStyle& paragraphStyle) +{ + fNormalStyle = characterStyle; + fParagraphStyle = paragraphStyle; + _InitStyles(); +} + + TextDocumentRef MarkupParser::CreateDocumentFromMarkup(const BString& text) { @@ -112,7 +122,7 @@ MarkupParser::_ParseText(const BString& text) int32 charCount = text.CountChars(); const char* c = text.String(); - while (offset < charCount) { + while (offset <= charCount) { uint32 nextChar = UTF8ToCharCode(&c); switch (nextChar) { diff --git a/src/apps/haiku-depot/textview/MarkupParser.h b/src/apps/haiku-depot/textview/MarkupParser.h index 2462be50c4..6a630bc51f 100644 --- a/src/apps/haiku-depot/textview/MarkupParser.h +++ b/src/apps/haiku-depot/textview/MarkupParser.h @@ -15,6 +15,10 @@ public: const CharacterStyle& characterStyle, const ParagraphStyle& paragraphStyle); + void SetStyles( + const CharacterStyle& characterStyle, + const ParagraphStyle& paragraphStyle); + TextDocumentRef CreateDocumentFromMarkup(const BString& text); private: