Prechádzať zdrojové kódy

Fixed a memory leak at window creation.

Windows updates the desktop display mode once at video init (in WIN_InitModes()) and once when creating a window (in WIN_RefreshDisplays())

Fixes https://github.com/libsdl-org/SDL/issues/7982
Fixes https://github.com/libsdl-org/SDL/issues/8189

(cherry picked from commit bea34c53804ada8d90c94aba27262635513452d3)
(cherry picked from commit 0ec1209eab437ebf49506f1649199f0aec9c54cb)
Sam Lantinga 1 rok pred
rodič
commit
1a722ef500
1 zmenil súbory, kde vykonal 3 pridanie a 0 odobranie
  1. 3 0
      src/video/SDL_video.c

+ 3 - 0
src/video/SDL_video.c

@@ -825,6 +825,9 @@ void SDL_SetCurrentDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode
 
 void SDL_SetDesktopDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode *mode)
 {
+    if (display->desktop_mode.driverdata) {
+        SDL_free(display->desktop_mode.driverdata);
+    }
     SDL_memcpy(&display->desktop_mode, mode, sizeof(*mode));
 }