diff --git a/src/output/output_surface.cpp b/src/output/output_surface.cpp index d278053522b..6266830b433 100644 --- a/src/output/output_surface.cpp +++ b/src/output/output_surface.cpp @@ -174,12 +174,16 @@ void OUTPUT_SURFACE_EndUpdate(const Bit16u *changedLines) if (changedLines && (changedLines[0] == sdl.draw.height)) return; if (!menu.hidecycles && !sdl.desktop.fullscreen) frames++; -#if !defined(C_SDL2) +#if defined(C_SDL2) + SDL_UpdateWindowSurface(sdl.window); +#else SDL_Flip(sdl.surface); #endif } else if (sdl.must_redraw_all) { -#if !defined(C_SDL2) +#if defined(C_SDL2) + if (changedLines != NULL) SDL_UpdateWindowSurface(sdl.window); +#else if (changedLines != NULL) SDL_Flip(sdl.surface); #endif } diff --git a/src/output/output_surface_sdl2.cpp b/src/output/output_surface_sdl2.cpp index be5f3dba65d..811da3bdd3a 100644 --- a/src/output/output_surface_sdl2.cpp +++ b/src/output/output_surface_sdl2.cpp @@ -72,6 +72,10 @@ Bitu OUTPUT_SURFACE_SetSize() retFlags = GFX_CAN_32; break; } + + sdl.deferred_resize = false; + sdl.must_redraw_all = true; + /* Fix a glitch with aspect=true occuring when changing between modes with different dimensions */ SDL_FillRect(sdl.surface, NULL, SDL_MapRGB(sdl.surface->format, 0, 0, 0)); @@ -81,7 +85,6 @@ Bitu OUTPUT_SURFACE_SetSize() mainMenu.setRedraw(); GFX_DrawSDLMenu(mainMenu, mainMenu.display_list); #endif - SDL_UpdateWindowSurface(sdl.window); return retFlags; } diff --git a/vs2015/config_package.h b/vs2015/config_package.h index 924729ff1f9..deeaf35eb30 100644 --- a/vs2015/config_package.h +++ b/vs2015/config_package.h @@ -1,8 +1,8 @@ #define PACKAGE "dosbox-x" #define PACKAGE_BUGREPORT "https://github.com/joncampbell123/dosbox-x/issues" #define PACKAGE_NAME "dosbox-x" -#define PACKAGE_STRING "dosbox-x 0.82.4" +#define PACKAGE_STRING "dosbox-x 0.82.8" #define PACKAGE_TARNAME "dosbox-x" #define PACKAGE_URL "http://dosbox-x.software" -#define PACKAGE_VERSION "0.82.4" -#define VERSION "0.82.4" +#define PACKAGE_VERSION "0.82.8" +#define VERSION "0.82.8"