From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/unix_wgl.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index c28c46f6cbf..26741a40773 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -744,14 +744,12 @@ static BOOL get_default_fbo_integer( struct context *ctx, struct opengl_drawable { if (pname == GL_READ_BUFFER && !ctx->read_fbo && read->read_fbo) { - if (ctx->pixel_mode.read_buffer) *data = ctx->pixel_mode.read_buffer; - else *data = read->doublebuffer ? GL_BACK : GL_FRONT; + *data = ctx->pixel_mode.read_buffer; return TRUE; } if ((pname == GL_DRAW_BUFFER || pname == GL_DRAW_BUFFER0) && !ctx->draw_fbo && draw->draw_fbo) { - if (ctx->color_buffer.draw_buffers[0]) *data = ctx->color_buffer.draw_buffers[0]; - else *data = draw->doublebuffer ? GL_BACK : GL_FRONT; + *data = ctx->color_buffer.draw_buffers[0]; return TRUE; } if (pname >= GL_DRAW_BUFFER1 && pname <= GL_DRAW_BUFFER15 && !ctx->draw_fbo && draw->draw_fbo) @@ -1141,6 +1139,9 @@ static void make_context_current( TEB *teb, const struct opengl_funcs *funcs, HD client->extension_count = count; if (TRACE_ON(opengl)) for (i = 0; i < count; i++) TRACE( "++ %s\n", all_extensions[client->extension_array[i]].name ); + + ctx->color_buffer.draw_buffers[0] = ctx->base.draw->doublebuffer ? GL_BACK : GL_FRONT; + ctx->pixel_mode.read_buffer = ctx->base.draw->doublebuffer ? GL_BACK : GL_FRONT; } BOOL wrap_wglMakeCurrent( TEB *teb, HDC hdc, HGLRC client_context ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10784