From 259909b6dd4e537703e7d9d4334b809519d5f03a Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Sun, 30 Jun 2019 21:13:56 +0200 Subject: [PATCH] - fix querying for the wrong interface when the UNICODE define is set --- src/win32/i_input.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/win32/i_input.cpp b/src/win32/i_input.cpp index a6b2e3939..cbfa2864b 100644 --- a/src/win32/i_input.cpp +++ b/src/win32/i_input.cpp @@ -650,7 +650,7 @@ bool I_InitInput (void *hwnd) blah di8c = (blah)GetProcAddress(DInputDLL, "DirectInput8Create"); if (di8c != NULL) { - hr = di8c(g_hInst, DIRECTINPUT_VERSION, IID_IDirectInput8A, (void **)&g_pdi, NULL); + hr = di8c(g_hInst, DIRECTINPUT_VERSION, IID_IDirectInput8, (void **)&g_pdi, NULL); if (FAILED(hr)) { Printf(TEXTCOLOR_ORANGE "DirectInput8Create failed: %08lx\n", hr); @@ -676,7 +676,11 @@ bool I_InitInput (void *hwnd) } typedef HRESULT (WINAPI *blah)(HINSTANCE, DWORD, LPDIRECTINPUT*, LPUNKNOWN); - blah dic = (blah)GetProcAddress (DInputDLL, "DirectInputCreateA"); +#ifdef UNICODE + blah dic = (blah)GetProcAddress (DInputDLL, "DirectInputCreateW"); +#else + blah dic = (blah)GetProcAddress(DInputDLL, "DirectInputCreateA"); +#endif if (dic == NULL) {