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