From 9e4dbd6a3a55c15fd038b4a523e3ee0275c33eb9 Mon Sep 17 00:00:00 2001 From: Stephen Anthony <sa666666@gmail.com> Date: Sun, 27 May 2018 18:53:57 -0230 Subject: [PATCH] Fixed dirty buffer in TIA mode when switching screenmodes. --- src/common/FrameBufferSDL2.cxx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/common/FrameBufferSDL2.cxx b/src/common/FrameBufferSDL2.cxx index d9338eeb9..a2ddba56e 100644 --- a/src/common/FrameBufferSDL2.cxx +++ b/src/common/FrameBufferSDL2.cxx @@ -138,10 +138,6 @@ bool FrameBufferSDL2::setVideoMode(const string& title, const VideoMode& mode) // Always recreate renderer (some systems need this) if(myRenderer) { - // Always clear the (double-buffered) renderer surface - SDL_RenderClear(myRenderer); - SDL_RenderPresent(myRenderer); - SDL_RenderClear(myRenderer); SDL_DestroyRenderer(myRenderer); myRenderer = nullptr; } @@ -228,6 +224,12 @@ bool FrameBufferSDL2::setVideoMode(const string& title, const VideoMode& mode) myOSystem.logMessage(msg, 0); return false; } + + // Always clear the (double-buffered) renderer surface + SDL_RenderClear(myRenderer); + SDL_RenderPresent(myRenderer); + SDL_RenderClear(myRenderer); + SDL_RendererInfo renderinfo; if(SDL_GetRendererInfo(myRenderer, &renderinfo) >= 0) myOSystem.settings().setValue("video", renderinfo.name); @@ -235,6 +237,7 @@ bool FrameBufferSDL2::setVideoMode(const string& title, const VideoMode& mode) return true; } +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - void FrameBufferSDL2::setTitle(const string& title) { myScreenTitle = title;