DEADSOFTWARE

sdl2: keep surface of same size while window resize
[flatwaifu.git] / src / sdl2 / main.c
index c1b872ca71a417cf29817d220d91b251dd07e10b..81ecaa173cb0574bae6f6808724a8f2e322db8d2 100644 (file)
@@ -127,11 +127,13 @@ static int Y_resize_window (int w, int h, int fullscreen) {
   assert(h > 0);
   assert(window != NULL);
   if (surf != NULL) {
-    SDL_Surface *s = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
-    if (s != NULL) {
-      SDL_SetPaletteColors(s->format->palette, surf->format->palette->colors, 0, surf->format->palette->ncolors);
-      SDL_FreeSurface(surf);
-      surf = s;
+    if (surf->w != w || surf->h != h) {
+      SDL_Surface *s = SDL_CreateRGBSurface(0, w, h, 8, 0, 0, 0, 0);
+      if (s != NULL) {
+        SDL_SetPaletteColors(s->format->palette, surf->format->palette->colors, 0, surf->format->palette->ncolors);
+        SDL_FreeSurface(surf);
+        surf = s;
+      }
     }
   }
   SDL_SetWindowSize(window, w, h);
@@ -187,11 +189,10 @@ void Y_unset_videomode (void) {
   }
 }
 
-int Y_set_fullscreen (int yes) {
+void Y_set_fullscreen (int yes) {
   if (window != NULL) {
     SDL_SetWindowFullscreen(window, yes ? SDL_WINDOW_FULLSCREEN : 0);
   }
-  return yes;
 }
 
 int Y_get_fullscreen (void) {