[gtk/wip.win32.fixes: 119/119] gdkglcontext-win32-wgl.c: Fix Cairo fallback check




commit 8e27f739c2c6f3bf8affe2e1003b9db17c4f0005
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Fri Sep 17 11:09:23 2021 +0800

    gdkglcontext-win32-wgl.c: Fix Cairo fallback check
    
    We were setting the WGL pixel format in GdkWin32Display too early, so the code
    does not bail out correctly when we retry establishing the WGL context.
    
    Fix this by pushing back setting the WGL pixel format only after it passes the
    shader availability check.
    
    Should fix issue #4257.

 gdk/win32/gdkglcontext-win32-wgl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/gdk/win32/gdkglcontext-win32-wgl.c b/gdk/win32/gdkglcontext-win32-wgl.c
index 3d05fb8907..010436bd3e 100644
--- a/gdk/win32/gdkglcontext-win32-wgl.c
+++ b/gdk/win32/gdkglcontext-win32-wgl.c
@@ -288,7 +288,6 @@ gdk_win32_display_init_wgl (GdkDisplay  *display,
       return FALSE;
     }
 
-  display_win32->wgl_pixel_format = best_idx;
   display_win32->gl_version = epoxy_gl_version ();
 
   /* We must have OpenGL/WGL 2.0 or later, or have the GL_ARB_shader_objects extension */
@@ -307,6 +306,8 @@ gdk_win32_display_init_wgl (GdkDisplay  *display,
         }
     }
 
+  display_win32->wgl_pixel_format = best_idx;
+
   display_win32->hasWglARBCreateContext =
     epoxy_has_wgl_extension (hdc, "WGL_ARB_create_context");
   display_win32->hasWglEXTSwapControl =


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]