1
0
Эх сурвалжийг харах

GPU: Fix D3D12_INTERNAL_StrToWStr returning incorrect length

cosmonaut 1 жил өмнө
parent
commit
c5acbef3bf

+ 4 - 3
src/gpu/d3d12/SDL_gpu_d3d12.c

@@ -3630,7 +3630,8 @@ static bool D3D12_INTERNAL_StrToWStr(
     Uint32 *outSize)
     Uint32 *outSize)
 {
 {
     size_t inlen, result;
     size_t inlen, result;
-    size_t outlen = wstrSize;
+    size_t outBytesLeft = wstrSize;
+    *outSize = 0;
 
 
     if (renderer->iconv == NULL) {
     if (renderer->iconv == NULL) {
         renderer->iconv = SDL_iconv_open("WCHAR_T", "UTF-8");
         renderer->iconv = SDL_iconv_open("WCHAR_T", "UTF-8");
@@ -3644,9 +3645,8 @@ static bool D3D12_INTERNAL_StrToWStr(
         &str,
         &str,
         &inlen,
         &inlen,
         (char **)&wstr,
         (char **)&wstr,
-        &outlen);
+        &outBytesLeft);
 
 
-    *outSize = (Uint32)outlen;
 
 
     // Check...
     // Check...
     switch (result) {
     switch (result) {
@@ -3660,6 +3660,7 @@ static bool D3D12_INTERNAL_StrToWStr(
         break;
         break;
     }
     }
 
 
+    *outSize = (Uint32)(wstrSize - outBytesLeft);
     return true;
     return true;
 }
 }