From: Rémi Bernon <rbernon@codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=59190 --- dlls/opengl32/unix_wgl.c | 7 ++++--- dlls/win32u/opengl.c | 1 - 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index f7979f2666f..ee899b12b42 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1444,9 +1444,10 @@ static void flush_context( TEB *teb, void (*flush)(void) ) struct opengl_drawable *read, *draw; struct context *ctx = get_current_context( teb, &read, &draw ); const struct opengl_funcs *funcs = teb->glTable; - BOOL force_swap = flush && ctx && !ctx->draw_fbo && context_draws_front( ctx ) && - draw->buffer_map[0] == GL_BACK_LEFT && draw->client; - UINT flags = force_swap ? GL_FLUSH_FORCE_SWAP : 0; + UINT flags = 0; + + if (flush && ctx && !ctx->draw_fbo && context_draws_front( ctx ) && draw->client) flags |= GL_FLUSH_PRESENT; + if ((flags & GL_FLUSH_PRESENT) && draw->buffer_map[0] == GL_BACK_LEFT) flags |= GL_FLUSH_FORCE_SWAP; if (!ctx || !funcs->p_wgl_context_flush( &ctx->base, flush, flags )) { diff --git a/dlls/win32u/opengl.c b/dlls/win32u/opengl.c index 2f7c276adfc..8420baa0a91 100644 --- a/dlls/win32u/opengl.c +++ b/dlls/win32u/opengl.c @@ -2282,7 +2282,6 @@ static BOOL win32u_wgl_context_flush( struct wgl_context *context, void (*flush) if (flush) flush(); if (flush == funcs->p_glFinish) flags |= GL_FLUSH_FINISHED; - if (flush && !(flags & GL_FLUSH_FORCE_SWAP)) flags |= GL_FLUSH_PRESENT; opengl_drawable_flush( draw, interval, flags ); if (flags & GL_FLUSH_FORCE_SWAP) opengl_drawable_swap( draw ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9860