From c7b45baff18d601936d2e8b3e7cd55ae30c6e9a2 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 25 Aug 2008 10:04:06 +0000 Subject: [PATCH] Merged last minute fixes from force feedback branch (r4031, r4033, r4034) --- configure.in | 2 +- src/haptic/win32/SDL_syshaptic.c | 3 ++- src/video/win32/SDL_win32window.c | 22 +++++++++++----------- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/configure.in b/configure.in index fc43fcd8c..e944e8176 100644 --- a/configure.in +++ b/configure.in @@ -1869,7 +1869,7 @@ AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [[default= if test x$enable_directx = xyes; then AC_CHECK_HEADER(d3d9.h, have_d3d=yes) AC_CHECK_HEADER(dsound.h, have_dsound=yes) - AC_CHECK_HEADER(dinput.h, use_dinput=yes) + AC_CHECK_HEADER(dinput.h, have_dinput=yes) fi } diff --git a/src/haptic/win32/SDL_syshaptic.c b/src/haptic/win32/SDL_syshaptic.c index 32cde559d..750cdd49e 100644 --- a/src/haptic/win32/SDL_syshaptic.c +++ b/src/haptic/win32/SDL_syshaptic.c @@ -188,7 +188,8 @@ SDL_SYS_HapticInit(void) } /* Look for haptic devices. */ - ret = IDirectInput_EnumDevices(dinput, 0, /* Not sure if this is legal, but gets all devices. */ + ret = IDirectInput_EnumDevices(dinput, + 0, EnumHapticsCallback, NULL, DIEDFL_FORCEFEEDBACK | diff --git a/src/video/win32/SDL_win32window.c b/src/video/win32/SDL_win32window.c index 85580a5da..48694eddd 100644 --- a/src/video/win32/SDL_win32window.c +++ b/src/video/win32/SDL_win32window.c @@ -49,8 +49,8 @@ int highestId = 0; /* the highest id of the tablet context */ /* Fake window to help with DirectInput events. */ HWND SDL_HelperWindow = NULL; -static const char *SDL_HelperWindowClassName = "SDLHelperWindowInputCatcher"; -static const char *SDL_HelperWindowName = "SDLHelperWindowInputMsgWindow"; +static WCHAR *SDL_HelperWindowClassName = TEXT("SDLHelperWindowInputCatcher"); +static WCHAR *SDL_HelperWindowName = TEXT("SDLHelperWindowInputMsgWindow"); static ATOM SDL_HelperWindowClass = 0; static int @@ -487,14 +487,14 @@ SDL_HelperWindowCreate(void) WNDCLASSEX wce; /* Create the class. */ - SDL_memset(&wce, 0, sizeof(wce)); + SDL_zero(wce); wce.cbSize = sizeof(WNDCLASSEX); wce.lpfnWndProc = DefWindowProcA; wce.lpszClassName = (LPCWSTR) SDL_HelperWindowClassName; wce.hInstance = hInstance; /* Register the class. */ - SDL_HelperWindowClass = RegisterClassExA(&wce); + SDL_HelperWindowClass = RegisterClassEx(&wce); if (SDL_HelperWindowClass == 0) { SDL_SetError("Unable to create Helper Window Class: error %d.", GetLastError()); @@ -502,12 +502,12 @@ SDL_HelperWindowCreate(void) } /* Create the window. */ - SDL_HelperWindow = CreateWindowExA(0, SDL_HelperWindowClassName, - SDL_HelperWindowName, - WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, - CW_USEDEFAULT, CW_USEDEFAULT, - CW_USEDEFAULT, HWND_MESSAGE, NULL, - hInstance, NULL); + SDL_HelperWindow = CreateWindowEx(0, SDL_HelperWindowClassName, + SDL_HelperWindowName, + WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, HWND_MESSAGE, NULL, + hInstance, NULL); if (SDL_HelperWindow == NULL) { SDL_SetError("Unable to create Helper Window: error %d.", GetLastError()); @@ -532,7 +532,7 @@ SDL_HelperWindowDestroy(void) /* Unregister the class. */ if (SDL_HelperWindowClass) { - UnregisterClassA(SDL_HelperWindowClassName, GetModuleHandleA(NULL)); + UnregisterClass(SDL_HelperWindowClassName, GetModuleHandleA(NULL)); SDL_HelperWindowClass = 0; } }