From af8a81b61821cdba2bfaed6473b8bc755ddc9735 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Sat, 17 Aug 2024 06:03:41 +0200
Subject: [PATCH] Force redraw for GDI games

---
 src/render_d3d9.c | 8 ++++++++
 src/render_ogl.c  | 6 ++++++
 2 files changed, 14 insertions(+)

diff --git a/src/render_d3d9.c b/src/render_d3d9.c
index c8e911e..4a0d22f 100644
--- a/src/render_d3d9.c
+++ b/src/render_d3d9.c
@@ -682,6 +682,14 @@ DWORD WINAPI d3d9_render_main(void)
             ReleaseSemaphore(g_ddraw.render.sem, 1, NULL);
             Sleep(50);
         }
+        else
+        {
+            /* Force redraw for GDI games (ClueFinders) */
+            if (!g_ddraw.primary)
+            {
+                RedrawWindow(g_ddraw.hwnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
+            }
+        }
 
         if (!g_ddraw.render.run)
             break;
diff --git a/src/render_ogl.c b/src/render_ogl.c
index 8be7c55..2975428 100644
--- a/src/render_ogl.c
+++ b/src/render_ogl.c
@@ -1293,6 +1293,12 @@ static void ogl_render()
 
         SwapBuffers(g_ogl.hdc);
 
+        /* Force redraw for GDI games (ClueFinders) */
+        if (!g_ddraw.primary)
+        {
+            RedrawWindow(g_ddraw.hwnd, NULL, NULL, RDW_INVALIDATE | RDW_ALLCHILDREN);
+        }
+
         if (!g_ddraw.render.run)
             break;