Do not store pointer before potentialy freeing it

Store data to windows->driverdata after call to SetProp() in case it fails.
This commit is contained in:
Mathieu Eyraud
2024-03-30 18:59:19 +01:00
committed by Sam Lantinga
parent 36dec0bf4e
commit 4d00706f57

View File

@@ -388,8 +388,6 @@ static int SetupWindowData(SDL_VideoDevice *_this, SDL_Window *window, HWND hwnd
SDL_AddHintCallback(SDL_HINT_MOUSE_RELATIVE_MODE_CENTER, WIN_MouseRelativeModeCenterChanged, data);
window->driverdata = data;
#if !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES)
/* Associate the data with the window */
if (!SetProp(hwnd, TEXT("SDL_WindowData"), data)) {
@@ -398,6 +396,8 @@ static int SetupWindowData(SDL_VideoDevice *_this, SDL_Window *window, HWND hwnd
return WIN_SetError("SetProp() failed");
}
#endif
window->driverdata = data;
/* Set up the window proc function */
#ifdef GWLP_WNDPROC