mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Return false on invalid input in Font::fromString()
Fixes crash with invalid font-update lfun
This commit is contained in:
parent
747a4a7946
commit
2a9648fc4c
12
src/Font.cpp
12
src/Font.cpp
@ -695,18 +695,26 @@ bool Font::fromString(string const & data, bool & toggle)
|
||||
|
||||
if (token == "family") {
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
bits_.setFamily(FontFamily(next));
|
||||
|
||||
} else if (token == "series") {
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
bits_.setSeries(FontSeries(next));
|
||||
|
||||
} else if (token == "shape") {
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
bits_.setShape(FontShape(next));
|
||||
|
||||
} else if (token == "size") {
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
bits_.setSize(FontSize(next));
|
||||
// FIXME: shall style be handled there? Probably not.
|
||||
} else if (token == "emph" || token == "underbar"
|
||||
@ -716,6 +724,8 @@ bool Font::fromString(string const & data, bool & toggle)
|
||||
|| token == "nospellcheck") {
|
||||
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
FontState const misc = FontState(next);
|
||||
|
||||
if (token == "emph")
|
||||
@ -739,6 +749,8 @@ bool Font::fromString(string const & data, bool & toggle)
|
||||
|
||||
} else if (token == "color") {
|
||||
int const next = lex.getInteger();
|
||||
if (next == -1)
|
||||
return false;
|
||||
bits_.setColor(ColorCode(next));
|
||||
|
||||
/**
|
||||
|
@ -5989,7 +5989,7 @@ void Text::dispatch(Cursor & cur, FuncRequest & cmd)
|
||||
toggleAndShow(cur, this, font, toggleall);
|
||||
cur.message(bformat(_("Text properties applied: %1$s"), props));
|
||||
} else
|
||||
LYXERR0("Invalid argument of textstyle-update");
|
||||
cur.message(_("Invalid argument of textstyle-update"));
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user