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.
This commit is contained in:
Chun-wei Fan 2021-09-17 11:09:23 +08:00
parent d6d7299859
commit 218a3e3d01

View File

@ -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 =