From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/unix_wgl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index caab7034fd9..212753a8970 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -875,7 +875,6 @@ static void flush_context( TEB *teb, void (*flush)(void) ) struct opengl_drawable *read, *draw; struct opengl_client_context *client; struct opengl_context *ctx = get_current_context( teb, &read, &draw, &client ); - HWND draw_hwnd = ctx && draw && draw->client ? draw->client->hwnd : NULL; const struct opengl_funcs *funcs = teb->glTable; UINT flags = 0; @@ -891,14 +890,13 @@ static void flush_context( TEB *teb, void (*flush)(void) ) if (flags & GL_FLUSH_FORCE_SWAP) { GLenum mask = GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT; - RECT rect; + SIZE size = draw->virtual_size; WARN( "Front buffer rendering emulation, copying front buffer back\n" ); - NtUserGetClientRect( draw_hwnd, &rect, NtUserGetDpiForWindow( draw_hwnd ) ); if (ctx->read_fbo) funcs->p_glBindFramebuffer( GL_READ_FRAMEBUFFER, 0 ); funcs->p_glReadBuffer( GL_FRONT_LEFT ); - funcs->p_glBlitFramebuffer( 0, 0, rect.right, rect.bottom, 0, 0, rect.right, rect.bottom, mask, GL_NEAREST ); + funcs->p_glBlitFramebuffer( 0, 0, size.cx, size.cy, 0, 0, size.cx, size.cy, mask, GL_NEAREST ); if (ctx->read_fbo) funcs->p_glBindFramebuffer( GL_READ_FRAMEBUFFER, ctx->read_fbo ); else funcs->p_glReadBuffer( drawable_buffer_from_buffer( read, ctx->read_buffer ) ); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11725