SDL: Set error using function hresult

From 22bc430bbbdfdf8ea14234aeaad3bb3630bb99b3 Mon Sep 17 00:00:00 2001
From: kyle-sylvestre <[EMAIL REDACTED]>
Date: Wed, 23 Oct 2024 13:32:32 -0400
Subject: [PATCH] Set error using function hresult

---
 src/filesystem/windows/SDL_sysfilesystem.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/filesystem/windows/SDL_sysfilesystem.c b/src/filesystem/windows/SDL_sysfilesystem.c
index cef3c2b0290c1..6db77d455f4b2 100644
--- a/src/filesystem/windows/SDL_sysfilesystem.c
+++ b/src/filesystem/windows/SDL_sysfilesystem.c
@@ -102,6 +102,7 @@ char *SDL_SYS_GetPrefPath(const char *org, const char *app)
      *                          NULL, &wszPath);
      */
 
+    HRESULT hr = E_FAIL;
     WCHAR path[MAX_PATH];
     char *result = NULL;
     WCHAR *worg = NULL;
@@ -117,8 +118,9 @@ char *SDL_SYS_GetPrefPath(const char *org, const char *app)
         org = "";
     }
 
-    if (!SUCCEEDED(SHGetFolderPathW(NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, path))) {
-        WIN_SetError("Couldn't locate our prefpath");
+    hr = SHGetFolderPathW(NULL, CSIDL_APPDATA | CSIDL_FLAG_CREATE, NULL, 0, path);
+    if (!SUCCEEDED(hr)) {
+        WIN_SetErrorFromHRESULT("Couldn't locate our prefpath", hr);
         return NULL;
     }