Index: gtk/rgmisc.cc =================================================================== --- gtk/rgmisc.cc (revision 857) +++ gtk/rgmisc.cc (working copy) @@ -142,10 +142,10 @@ static char *_str = NULL; if (str == NULL) return NULL; + if (g_utf8_validate(str, -1, NULL) == false) + return NULL; g_free(_str); _str = NULL; - if (g_utf8_validate(str, -1, NULL) == false) - return NULL; _str = g_locale_from_utf8(str, -1, NULL, NULL, NULL); return _str; } @@ -155,10 +155,10 @@ static char *_str = NULL; if (str == NULL) return NULL; + if (g_utf8_validate(str, -1, NULL) == true) + return str; g_free(_str); _str = NULL; - if (g_utf8_validate(str, -1, NULL) == true) - return str; _str = g_locale_to_utf8(str, -1, NULL, NULL, NULL); return _str; }