Fix for translating empty strings
authorminduser00 <minduser00@users.noreply.github.com>
Tue, 27 Mar 2018 11:49:47 +0000 (11:49 +0000)
committerSmallJoker <mk939@ymail.com>
Sun, 3 Jun 2018 15:32:00 +0000 (17:32 +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 885d7ca2da165691cf5e1c38a2394b175cd26d87..170d75dee631464d72b8cc9f7146a81c55d11d04 100644 (file)
@@ -51,12 +51,13 @@ 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());
 }
 
 #endif