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;