From 5a04b86c5e125a86bb7b3adde6203596aa9f3850 Mon Sep 17 00:00:00 2001
From: Tim Felgentreff <timfelgentreff@gmail.com>
Date: Sun, 4 Feb 2018 15:13:38 +0100
Subject: [PATCH] Fix Wargus/war1gus#116: make window resizeable in windowed
 mode

---
 src/video/sdl.cpp | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/video/sdl.cpp b/src/video/sdl.cpp
index c39f94fa6..5e1983b0b 100644
--- a/src/video/sdl.cpp
+++ b/src/video/sdl.cpp
@@ -594,6 +594,8 @@ void InitVideoSdl()
 	/* SDL_HWSURFACE|SDL_HWPALETTE | */
 	if (Video.FullScreen) {
 		flags |= SDL_FULLSCREEN;
+	} else {
+		flags |= SDL_RESIZABLE;
 	}
 
 #if defined(USE_OPENGL) || defined(USE_GLES)
@@ -897,6 +899,10 @@ static void SdlDoEvent(const EventCallback &callbacks, SDL_Event &event)
 								  event.key.keysym.sym, event.key.keysym.unicode);
 			break;
 
+		case SDL_VIDEORESIZE:
+			Video.ResizeScreen(event.resize.w, event.resize.h);
+			break;
+
 		case SDL_QUIT:
 			Exit(0);
 			break;
@@ -1163,7 +1169,7 @@ void ToggleFullScreen()
 		SDL_UnlockSurface(TheScreen);
 	}
 
-	TheScreen = SDL_SetVideoMode(w, h, bpp, flags ^ SDL_FULLSCREEN);
+	TheScreen = SDL_SetVideoMode(w, h, bpp, (flags ^ SDL_FULLSCREEN) ^ SDL_RESIZABLE);
 	if (!TheScreen) {
 		TheScreen = SDL_SetVideoMode(w, h, bpp, flags);
 		if (!TheScreen) { // completely screwed.