diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2021-03-01 09:17:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-01 09:17:08 +0100 |
commit | fb8cfc442d5bfb8f14e98006a734cdf551a0f2b1 (patch) | |
tree | 66ffe061c69c390cbc4dd6dfe022addc3504cc0a /servers/rendering/shader_language.cpp | |
parent | 75ac36f9393036a10612838b95227391c825695e (diff) | |
parent | 19e0a1ec9dce4d0a550a944bbd77f0db427dec78 (diff) | |
download | redot-engine-fb8cfc442d5bfb8f14e98006a734cdf551a0f2b1.tar.gz |
Merge pull request #46543 from Chaosus/shader_fix_hex
Fix parsing hexadecimal (lowercase `e`,`f`) in shaders
Diffstat (limited to 'servers/rendering/shader_language.cpp')
-rw-r--r-- | servers/rendering/shader_language.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/servers/rendering/shader_language.cpp b/servers/rendering/shader_language.cpp index cb98a71e86..e5978e4f1b 100644 --- a/servers/rendering/shader_language.cpp +++ b/servers/rendering/shader_language.cpp @@ -558,13 +558,13 @@ ShaderLanguage::Token ShaderLanguage::_get_token() { return _make_token(TK_ERROR, "Invalid numeric constant"); } hexa_found = true; - } else if (GETCHAR(i) == 'e') { - if (hexa_found || exponent_found || float_suffix_found) { + } else if (GETCHAR(i) == 'e' && !hexa_found) { + if (exponent_found || float_suffix_found) { return _make_token(TK_ERROR, "Invalid numeric constant"); } exponent_found = true; - } else if (GETCHAR(i) == 'f') { - if (hexa_found || exponent_found) { + } else if (GETCHAR(i) == 'f' && !hexa_found) { + if (exponent_found) { return _make_token(TK_ERROR, "Invalid numeric constant"); } float_suffix_found = true; |