diff --git a/lib/libimhex/source/helpers/utils.cpp b/lib/libimhex/source/helpers/utils.cpp index 2d9634a9b..59c61bcab 100644 --- a/lib/libimhex/source/helpers/utils.cpp +++ b/lib/libimhex/source/helpers/utils.cpp @@ -32,6 +32,8 @@ #include #include #include + #include + #include #elif defined(OS_WEB) #include "emscripten.h" #endif @@ -826,9 +828,14 @@ namespace hex { return std::nullopt; #elif defined(OS_WEB) - return toLower(EM_ASM_INT({ - return (int)navigator.language.length > 0 ? navigator.language : navigator.languages[0]; - })); + char *resultRaw = (char*)EM_ASM_PTR({ + return stringToNewUTF8(navigator.language.length > 0 ? navigator.language : navigator.languages[0]); + }); + + std::string result(resultRaw); + std::free(resultRaw); + + return result; #else return std::nullopt; #endif