Do not store pointer before potentialy freeing it

Store data to windows->driverdata after call to SetProp() in case it fails.
main
Mathieu Eyraud 2024-03-30 18:59:19 +01:00 committed by Sam Lantinga
parent 36dec0bf4e
commit 4d00706f57
1 changed files with 2 additions and 2 deletions

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)) {
@ -399,6 +397,8 @@ static int SetupWindowData(SDL_VideoDevice *_this, SDL_Window *window, HWND hwnd
}
#endif
window->driverdata = data;
/* Set up the window proc function */
#ifdef GWLP_WNDPROC
data->wndproc = (WNDPROC)GetWindowLongPtr(hwnd, GWLP_WNDPROC);