diff options
| author | JosJuice <josjuice@gmail.com> | 2022-01-09 22:27:18 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-09 22:27:18 +0100 |
| commit | 3da64875314e2a1743b8d6453403ef85e8b45eb4 (patch) | |
| tree | e97af4fd1e5319cb74567f7c434d5084d9e1c4a5 /Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp | |
| parent | 36d605715d4045d6a556b4234d1d925f79c5eea3 (diff) | |
| parent | ca9bf3174f4acd4c9d78ac7c21b6aeaa1430b7ef (diff) | |
Merge pull request #10209 from Pokechu22/assert-fmt
Assertion and panic alert improvements
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp index ec02abaddf..1ab12af20a 100644 --- a/Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp +++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInput.cpp @@ -3,6 +3,7 @@ #include "InputCommon/ControllerInterface/DInput/DInput.h" +#include "Common/HRWrap.h" #include "Common/Logging/Log.h" #include "Common/StringUtil.h" @@ -37,13 +38,15 @@ std::string GetDeviceName(const LPDIRECTINPUTDEVICE8 device) str.diph.dwHow = DIPH_DEVICE; std::string result; - if (SUCCEEDED(device->GetProperty(DIPROP_PRODUCTNAME, &str.diph))) + HRESULT hr = device->GetProperty(DIPROP_PRODUCTNAME, &str.diph); + if (SUCCEEDED(hr)) { result = StripSpaces(WStringToUTF8(str.wsz)); } else { - ERROR_LOG_FMT(CONTROLLERINTERFACE, "GetProperty(DIPROP_PRODUCTNAME) failed."); + ERROR_LOG_FMT(CONTROLLERINTERFACE, "GetProperty(DIPROP_PRODUCTNAME) failed: {}", + Common::HRWrap(hr)); } return result; @@ -52,11 +55,15 @@ std::string GetDeviceName(const LPDIRECTINPUTDEVICE8 device) // Assumes hwnd had not changed from the previous call void PopulateDevices(HWND hwnd) { - if (!s_idi8 && FAILED(DirectInput8Create(GetModuleHandle(nullptr), DIRECTINPUT_VERSION, - IID_IDirectInput8, (LPVOID*)&s_idi8, nullptr))) + if (!s_idi8) { - ERROR_LOG_FMT(CONTROLLERINTERFACE, "DirectInput8Create failed."); - return; + HRESULT hr = DirectInput8Create(GetModuleHandle(nullptr), DIRECTINPUT_VERSION, + IID_IDirectInput8, (LPVOID*)&s_idi8, nullptr); + if (FAILED(hr)) + { + ERROR_LOG_FMT(CONTROLLERINTERFACE, "DirectInput8Create failed: {}", Common::HRWrap(hr)); + return; + } } // Remove old (invalid) devices. No need to ever remove the KeyboardMouse device. |
