diff --git a/src/string.cpp b/src/string.cpp index 644c9d3c18..e850c4b7e1 100644 --- a/src/string.cpp +++ b/src/string.cpp @@ -480,9 +480,9 @@ bool IsValidChar(WChar key, CharSetFilter afilter) case CS_ALPHANUMERAL: return IsPrintable(key); case CS_NUMERAL: return (key >= '0' && key <= '9'); #if !defined(STRGEN) && !defined(SETTINGSGEN) - case CS_NUMERAL_DECIMAL: return (key >= '0' && key <= '9') || key == '.' || key == GetDecimalSeparatorChar(); + case CS_NUMERAL_DECIMAL: return (key >= '0' && key <= '9') || key == '.' || key == '-' || key == GetDecimalSeparatorChar(); #else - case CS_NUMERAL_DECIMAL: return (key >= '0' && key <= '9') || key == '.'; + case CS_NUMERAL_DECIMAL: return (key >= '0' && key <= '9') || key == '.' || key == '-'; #endif case CS_NUMERAL_SPACE: return (key >= '0' && key <= '9') || key == ' '; case CS_ALPHA: return IsPrintable(key) && !(key >= '0' && key <= '9'); diff --git a/src/string_type.h b/src/string_type.h index cca9af6e4a..1e01631a0a 100644 --- a/src/string_type.h +++ b/src/string_type.h @@ -26,7 +26,7 @@ enum CharSetFilter { CS_ALPHANUMERAL, ///< Both numeric and alphabetic and spaces and stuff CS_NUMERAL, ///< Only numeric ones - CS_NUMERAL_DECIMAL, ///< Only numeric and decimal separaters + CS_NUMERAL_DECIMAL, ///< Only numeric, decimal separaters, and minus/negative CS_NUMERAL_SPACE, ///< Only numbers and spaces CS_ALPHA, ///< Only alphabetic values CS_HEXADECIMAL, ///< Only hexadecimal characters