diff --git a/mozilla/xpcom/io/nsNativeCharsetUtils.cpp b/mozilla/xpcom/io/nsNativeCharsetUtils.cpp index a751889b87f..55b5c63cbee 100644 --- a/mozilla/xpcom/io/nsNativeCharsetUtils.cpp +++ b/mozilla/xpcom/io/nsNativeCharsetUtils.cpp @@ -949,6 +949,7 @@ NS_ShutdownNativeCharsetUtils() #include #include "nsAString.h" #include +#include "nsNativeCharsetUtils.h" static UconvObject UnicodeConverter = NULL; @@ -972,6 +973,9 @@ NS_CopyNativeToUnicode(const nsACString &input, nsAString &output) size_t cSubs = 0; size_t resultLeft = resultLen; + if (!UnicodeConverter) + NS_StartupNativeCharsetUtils(); + int unirc = ::UniUconvToUcs(UnicodeConverter, (void**)&inputStr, &inputLen, &result, &resultLeft, &cSubs); @@ -1008,6 +1012,9 @@ NS_CopyUnicodeToNative(const nsAString &input, nsACString &output) size_t cSubs = 0; size_t resultLeft = resultLen; + + if (!UnicodeConverter) + NS_StartupNativeCharsetUtils(); int unirc = ::UniUconvFromUcs(UnicodeConverter, &inputStr, &inputLen, (void**)&result, &resultLeft, &cSubs);