From 07d9b53f0327f91c0b4d3dd7b85775398c285a3e Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 24 Nov 2009 04:59:50 +0000 Subject: [PATCH] Fixed bug #891 Mason Wheeler 2009-11-23 06:59:48 PST There's code in SDL_RecreateWindow specifically to handle SDL_WINDOW_FOREIGN, but it appears to have been overlooked in the allowed_flags constant. This causes the line window->flags = (flags & allowed_flags); to strip SDL_WINDOW_FOREIGN from the window's flags, which breaks some code in WIN_WindowProc in SDL_win32Events.c that treats foreign windows differently. This can be trivially fixed by defining allowed_flags as const Uint32 allowed_flags = (SDL_WINDOW_FULLSCREEN | SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_RESIZABLE | SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_FOREIGN); --- src/video/SDL_video.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index a34068efa..e60606deb 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -862,7 +862,8 @@ SDL_RecreateWindow(SDL_Window * window, Uint32 flags) SDL_WINDOW_OPENGL | SDL_WINDOW_BORDERLESS | SDL_WINDOW_RESIZABLE | - SDL_WINDOW_INPUT_GRABBED); + SDL_WINDOW_INPUT_GRABBED | + SDL_WINDOW_FOREIGN); char *title = window->title; if ((flags & SDL_WINDOW_OPENGL) && !_this->GL_CreateContext) {