comparison src/video/SDL_video.c @ 3486:c87dbbde2bc2

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);
author Sam Lantinga <slouken@libsdl.org>
date Tue, 24 Nov 2009 04:59:50 +0000
parents e77a69aae239
children 3d2f42580488
comparison
equal deleted inserted replaced
3485:e77a69aae239 3486:c87dbbde2bc2
860 { 860 {
861 const Uint32 allowed_flags = (SDL_WINDOW_FULLSCREEN | 861 const Uint32 allowed_flags = (SDL_WINDOW_FULLSCREEN |
862 SDL_WINDOW_OPENGL | 862 SDL_WINDOW_OPENGL |
863 SDL_WINDOW_BORDERLESS | 863 SDL_WINDOW_BORDERLESS |
864 SDL_WINDOW_RESIZABLE | 864 SDL_WINDOW_RESIZABLE |
865 SDL_WINDOW_INPUT_GRABBED); 865 SDL_WINDOW_INPUT_GRABBED |
866 SDL_WINDOW_FOREIGN);
866 char *title = window->title; 867 char *title = window->title;
867 868
868 if ((flags & SDL_WINDOW_OPENGL) && !_this->GL_CreateContext) { 869 if ((flags & SDL_WINDOW_OPENGL) && !_this->GL_CreateContext) {
869 SDL_SetError("No OpenGL support in video driver"); 870 SDL_SetError("No OpenGL support in video driver");
870 return -1; 871 return -1;