diff --git a/src/common/intl.cpp b/src/common/intl.cpp index 5115e1d3cd..98bc6dcc07 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -770,9 +770,13 @@ bool wxLocale::Init(int language, int flags) return FALSE; #endif - return Init(name, canonical, retloc, - (flags & wxLOCALE_LOAD_DEFAULT) != 0, - (flags & wxLOCALE_CONV_ENCODING) != 0); + wxChar *szLocale = retloc ? wxStrdup(retloc) : NULL; + bool ret = Init(name, canonical, retloc, + (flags & wxLOCALE_LOAD_DEFAULT) != 0, + (flags & wxLOCALE_CONV_ENCODING) != 0); + if (szLocale) + free(szLocale); + return ret; }