# HG changeset patch # User Sam Lantinga # Date 1259038790 0 # Node ID c87dbbde2bc2867e184a62516ba6fad9e613885e # Parent e77a69aae239ab8764d04489b9f86e2cd6c6d8b0 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); diff -r e77a69aae239 -r c87dbbde2bc2 src/video/SDL_video.c --- a/src/video/SDL_video.c Tue Nov 24 04:48:12 2009 +0000 +++ b/src/video/SDL_video.c Tue Nov 24 04:59:50 2009 +0000 @@ -862,7 +862,8 @@ 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) {