# HG changeset patch # User David Gow # Date 1361461788 -28800 # Node ID 34f318fe45cd56e3d7c24d86665093fcf5bf9d30 # Parent 11a03a79dfe82e2a08f03591af19a6eb2476159d SetWindowSize and SetWindowDisplayMode should take effect immediately diff -r 11a03a79dfe8 -r 34f318fe45cd src/video/SDL_video.c --- a/src/video/SDL_video.c Wed Mar 06 11:59:21 2013 -0800 +++ b/src/video/SDL_video.c Thu Feb 21 23:49:48 2013 +0800 @@ -1001,6 +1001,8 @@ } } +static void SDL_UpdateFullscreenMode(SDL_Window * window, SDL_bool fullscreen); + int SDL_SetWindowDisplayMode(SDL_Window * window, const SDL_DisplayMode * mode) { @@ -1011,6 +1013,7 @@ } else { SDL_zero(window->fullscreen_mode); } + SDL_UpdateFullscreenMode(window, (SDL_bool)(mode != 0)); return 0; } @@ -1091,11 +1094,6 @@ } } - /* See if anything needs to be done now */ - if ((display->fullscreen_window == window) == fullscreen) { - return; - } - /* See if there are any fullscreen windows */ for (other = _this->windows; other; other = other->next) { SDL_bool setDisplayMode = SDL_FALSE; @@ -1567,7 +1565,6 @@ { CHECK_WINDOW_MAGIC(window, ); - /* FIXME: Should this change fullscreen modes? */ if (!(window->flags & SDL_WINDOW_FULLSCREEN)) { window->w = w; window->h = h; @@ -1579,6 +1576,13 @@ SDL_OnWindowResized(window); } } + else + { + window->w = w; + window->h = h; + SDL_UpdateFullscreenMode(window, SDL_TRUE); + } + } void