Commit d119c382 authored by Sam Lantinga's avatar Sam Lantinga

Fixed resetting the Direc3D renderer on mode change

parent 6c726ca4
......@@ -180,7 +180,6 @@ struct SDL_VideoDevice
void (*MaximizeWindow) (_THIS, SDL_Window * window);
void (*MinimizeWindow) (_THIS, SDL_Window * window);
void (*RestoreWindow) (_THIS, SDL_Window * window);
void (*PrepWindowFullscreen) (_THIS, SDL_Window * window);
void (*SetWindowFullscreen) (_THIS, SDL_Window * window, SDL_VideoDisplay * display, SDL_bool fullscreen);
void (*SetWindowGrab) (_THIS, SDL_Window * window);
void (*DestroyWindow) (_THIS, SDL_Window * window);
......
......@@ -1025,36 +1025,40 @@ SDL_UpdateFullscreenMode(SDL_Window * window)
SDL_GetDisplayForWindow(other) == display) {
SDL_DisplayMode fullscreen_mode;
if (SDL_GetWindowDisplayMode(other, &fullscreen_mode) == 0) {
if (_this->PrepWindowFullscreen) {
_this->PrepWindowFullscreen(_this, other);
SDL_bool resized = SDL_TRUE;
if (other->w == fullscreen_mode.w && other->h == fullscreen_mode.h) {
resized = SDL_FALSE;
}
SDL_SetDisplayModeForDisplay(display, &fullscreen_mode);
if (_this->SetWindowFullscreen) {
_this->SetWindowFullscreen(_this, other, display, SDL_TRUE);
}
display->fullscreen_window = other;
/* Generate a mode change events here */
SDL_SendWindowEvent(other, SDL_WINDOWEVENT_RESIZED,
fullscreen_mode.w, fullscreen_mode.h);
/* Generate a mode change event here */
if (resized) {
SDL_SendWindowEvent(other, SDL_WINDOWEVENT_RESIZED,
fullscreen_mode.w, fullscreen_mode.h);
} else {
SDL_OnWindowResized(other);
}
return;
}
}
}
/* Nope, restore the desktop mode */
if (_this->PrepWindowFullscreen) {
_this->PrepWindowFullscreen(_this, window);
}
SDL_SetDisplayModeForDisplay(display, NULL);
if (_this->SetWindowFullscreen) {
_this->SetWindowFullscreen(_this, window, display, SDL_FALSE);
}
display->fullscreen_window = NULL;
/* Generate a mode change event here */
SDL_OnWindowResized(window);
}
SDL_Window *
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment