Fix for translating empty strings
authorminduser00 <minduser00@users.noreply.github.com>
Tue, 27 Mar 2018 11:49:47 +0000 (11:49 +0000)
committersfan5 <sfan5@live.de>
Mon, 9 Apr 2018 13:13:53 +0000 (15:13 +0200)
Fix for incorrect translation of empty strings

In the key change menu, when a button key not have name an empty string is passed to gettext.
The empty string is reserved for gettext to return de header of the .po file an this is shoved in the button

src/gettext.h

index d7fc586c0fc56bc4d7a9ac8412745fc0d47bf0b5..4038e3fa857476889fc4d053742b12680975a3a5 100644 (file)
@@ -51,10 +51,11 @@ extern wchar_t *utf8_to_wide_c(const char *str);
 // The returned string is allocated using new
 inline const wchar_t *wgettext(const char *str)
 {
-       return utf8_to_wide_c(gettext(str));
+       // We must check here that is not an empty string to avoid trying to translate it
+       return str[0] ? utf8_to_wide_c(gettext(str)) : L"";
 }
 
 inline std::string strgettext(const std::string &text)
 {
-       return gettext(text.c_str());
+       return text.empty() ? "" : gettext(text.c_str());
 }