Explicitly disallow wxLANGUAGE_UNKNOWN in wxLocale::Init()

This value doesn't make here, so be upfront about it.
This commit is contained in:
Vadim Zeitlin
2021-02-28 20:04:33 +01:00
parent 18bf718f60
commit 91ec900034
2 changed files with 9 additions and 3 deletions

View File

@@ -459,9 +459,11 @@ public:
try to translate the messages using the message catalogs for this locale.
@param language
::wxLanguage identifier of the locale.
@c wxLANGUAGE_DEFAULT has special meaning -- wxLocale will use system's
default language (see GetSystemLanguage()).
::wxLanguage identifier of the locale. It can be either some
concrete language, e.g. @c wxLANGUAGE_ESPERANTO, or a special value
@c wxLANGUAGE_DEFAULT which means that wxLocale should use system's
default language (see GetSystemLanguage()). Notice that the value
@c wxLANGUAGE_UNKNOWN is not allowed here.
@param flags
Combination of the following:
- wxLOCALE_LOAD_DEFAULT: Load the message catalog for the given locale

View File

@@ -434,6 +434,10 @@ bool wxLocale::Init(int lang, int flags)
wxS("wxLOCALE_CONV_ENCODING is no longer supported, add charset to your catalogs") );
#endif
wxCHECK_MSG( lang != wxLANGUAGE_UNKNOWN, false,
wxS("Initializing unknown locale doesn't make sense, did you ")
wxS("mean to use wxLANGUAGE_DEFAULT perhaps?") );
wxString name, shortName;
const wxLanguageInfo *info = GetLanguageInfo(lang);