mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 10:00:33 +00:00
Fix bug #8089: Handle spaces at the end of the stream
If the stream is good (i.e. there are still tokens) and we expect an argument, we call getArg(). However, if there are only spaces, the stream suddenly isn't good anymore after 'skipSpaces' and we would get an error when calling 'getChar'. Therefore we have to check whether the stream is still good. MathParser: Do not rewind the stream if we can't read from it If the stream is not good, we don't need to 'putback', because we didn't read anything yet. If we now do rewind the stream, we are asking for problems as in bug #8089. This was introduced in [3cafb856\lyxgit] to fix bug #4318. (cherry picked from commit26dcfcd343
) (cherry picked from commit1ef930c058
)
This commit is contained in:
parent
db58480950
commit
2e771bf78d
@ -535,7 +535,6 @@ char_type Parser::getChar()
|
||||
{
|
||||
if (!good()) {
|
||||
error("The input stream is not well...");
|
||||
putback();
|
||||
return 0;
|
||||
}
|
||||
return tokens_[pos_++].character();
|
||||
@ -544,9 +543,12 @@ char_type Parser::getChar()
|
||||
|
||||
docstring Parser::getArg(char_type left, char_type right)
|
||||
{
|
||||
docstring result;
|
||||
skipSpaces();
|
||||
|
||||
docstring result;
|
||||
if (!good())
|
||||
return result;
|
||||
|
||||
char_type c = getChar();
|
||||
|
||||
if (c != left)
|
||||
|
@ -103,6 +103,8 @@ What's new
|
||||
|
||||
- Fixed assertion on selection of insets in RTL text (bug 7518).
|
||||
|
||||
- Fixed an infinite loop when pasting '\\ ' into math (bug 8089).
|
||||
|
||||
- Don't reset the selected format each time we click into a new paragraph
|
||||
in View->Source (bug 7997).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user