From 3ef9e29a8bc58b3ce523626e8f4855d01b256f49 Mon Sep 17 00:00:00 2001
From: FunkyFr3sh <cc.red.alert.1@googlemail.com>
Date: Mon, 22 Jul 2024 11:03:33 +0200
Subject: [PATCH] retry wglMakeCurrent at least once

---
 src/render_ogl.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/render_ogl.c b/src/render_ogl.c
index a56b295..84ec194 100644
--- a/src/render_ogl.c
+++ b/src/render_ogl.c
@@ -54,7 +54,15 @@ DWORD WINAPI ogl_render_main(void)
     Sleep(250);
     g_ogl.got_error = g_ogl.use_opengl = FALSE;
 
-    if (xwglMakeCurrent(g_ogl.hdc, g_ogl.context) && glGetError() == GL_NO_ERROR)
+    BOOL made_current = xwglMakeCurrent(g_ogl.hdc, g_ogl.context);
+    if (!made_current)
+    {
+        /* make sure we retry at least once */
+        Sleep(50);
+        made_current = xwglMakeCurrent(g_ogl.hdc, g_ogl.context);
+    }
+
+    if (made_current && glGetError() == GL_NO_ERROR)
     {
         oglu_init();