Maelstrom: Fixed presentation if the render target isn't used

From 38454e8ce3f408eb41f0a6ebf1353fe08af82e64 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Sun, 23 Nov 2025 11:44:16 -0800
Subject: [PATCH] Fixed presentation if the render target isn't used

---
 screenlib/SDL_FrameBuf.cpp | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/screenlib/SDL_FrameBuf.cpp b/screenlib/SDL_FrameBuf.cpp
index c52c9d9f..9f72709e 100644
--- a/screenlib/SDL_FrameBuf.cpp
+++ b/screenlib/SDL_FrameBuf.cpp
@@ -197,18 +197,22 @@ FrameBuf::StretchBlit(const SDL_Rect *_dstrect, SDL_Texture *src, const SDL_Rect
 void
 FrameBuf::Update(void)
 {
-	/* Make sure resize events are seen before drawing to the screen */
-	SDL_PumpEvents();
+	if (target) {
+		/* Make sure resize events are seen before drawing to the screen */
+		SDL_PumpEvents();
 
-	SDL_SetRenderTarget(renderer, NULL);
+		SDL_SetRenderTarget(renderer, NULL);
 
-	SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
-	SDL_RenderClear(renderer);
+		SDL_SetRenderDrawColor(renderer, 0, 0, 0, SDL_ALPHA_OPAQUE);
+		SDL_RenderClear(renderer);
 
-	SDL_RenderTexture(renderer, target, NULL, NULL);
-	SDL_RenderPresent(renderer);
+		SDL_RenderTexture(renderer, target, NULL, NULL);
+		SDL_RenderPresent(renderer);
 
-	SDL_SetRenderTarget(renderer, target);
+		SDL_SetRenderTarget(renderer, target);
+	} else {
+		SDL_RenderPresent(renderer);
+	}
 }
 
 void