1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-04 12:39:55 +00:00

Book formatter: Fix last block of text not displaying

This commit is contained in:
MiroslavR 2014-09-21 22:25:54 +02:00
parent c362ec0f95
commit 51cd2678ae
2 changed files with 11 additions and 8 deletions

View File

@ -50,8 +50,12 @@ namespace MWGui
while (1) while (1)
{ {
++mIndex; ++mIndex;
if (mIndex >= mText.size()) if (mIndex >= mText.size())
{
flushBuffer();
return Event_EOF; return Event_EOF;
}
char ch = mText[mIndex]; char ch = mText[mIndex];
if (ch == '<') if (ch == '<')
@ -102,11 +106,7 @@ namespace MWGui
} }
} }
if (mIndex == mText.size() - 1)
{
flushBuffer();
return Event_LastText;
}
} }
} }
@ -133,7 +133,7 @@ namespace MWGui
while (!tag.empty()) while (!tag.empty())
{ {
int sepPos = tag.find('='); size_t sepPos = tag.find('=');
if (sepPos == std::string::npos) if (sepPos == std::string::npos)
return; return;
@ -188,8 +188,9 @@ namespace MWGui
BookTextParser parser(markup); BookTextParser parser(markup);
BookTextParser::Events event; BookTextParser::Events event;
while ((event = parser.next()) != BookTextParser::Event_EOF) for (;;)
{ {
event = parser.next();
if (event == BookTextParser::Event_BrTag || event == BookTextParser::Event_PTag) if (event == BookTextParser::Event_BrTag || event == BookTextParser::Event_PTag)
continue; continue;
@ -204,6 +205,9 @@ namespace MWGui
elem.paginate(); elem.paginate();
} }
if (event == BookTextParser::Event_EOF)
break;
switch (event) switch (event)
{ {
case BookTextParser::Event_ImgTag: case BookTextParser::Event_ImgTag:

View File

@ -32,7 +32,6 @@ namespace MWGui
{ {
Event_None = -2, Event_None = -2,
Event_EOF = -1, Event_EOF = -1,
Event_LastText = 0,
Event_BrTag, Event_BrTag,
Event_PTag, Event_PTag,
Event_ImgTag, Event_ImgTag,