UI: Don't allow resolutions too large
Fixes a crash when entering large resolutions, and also works as a minor sanity check against bad resolution values.
This commit is contained in:
parent
83df7d1635
commit
765bb34641
1 changed files with 10 additions and 0 deletions
|
|
@ -95,6 +95,11 @@ struct CodecDesc {
|
|||
Q_DECLARE_METATYPE(FormatDesc)
|
||||
Q_DECLARE_METATYPE(CodecDesc)
|
||||
|
||||
static inline bool ResTooHigh(uint32_t cx, uint32_t cy)
|
||||
{
|
||||
return cx > 16384 || cy > 16384;
|
||||
}
|
||||
|
||||
/* parses "[width]x[height]", string, i.e. 1024x768 */
|
||||
static bool ConvertResText(const char *res, uint32_t &cx, uint32_t &cy)
|
||||
{
|
||||
|
|
@ -129,6 +134,11 @@ static bool ConvertResText(const char *res, uint32_t &cx, uint32_t &cy)
|
|||
if (lexer_getbasetoken(lex, &token, IGNORE_WHITESPACE))
|
||||
return false;
|
||||
|
||||
if (ResTooHigh(cx, cy)) {
|
||||
cx = cy = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue