Henri Verbeet : wined3d: Properly update the context when falling back to the backup window in context_set_gl_context ().
Alexandre Julliard
julliard at winehq.org
Wed Aug 2 15:32:00 CDT 2017
Module: wine
Branch: master
Commit: 3441ba9e039521d38be0d8bdad8eca55393e3a0b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3441ba9e039521d38be0d8bdad8eca55393e3a0b
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Wed Aug 2 18:40:34 2017 +0200
wined3d: Properly update the context when falling back to the backup window in context_set_gl_context().
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/wined3d/context.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index f9c95ba..d8ec251 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -1178,8 +1178,6 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
if (backup || !wglMakeCurrent(ctx->hdc, ctx->glCtx))
{
- HDC dc;
-
WARN("Failed to make GL context %p current on device context %p, last error %#x.\n",
ctx->glCtx, ctx->hdc, GetLastError());
ctx->valid = 0;
@@ -1196,24 +1194,27 @@ static BOOL context_set_gl_context(struct wined3d_context *ctx)
return FALSE;
}
- if (!(dc = swapchain_get_backup_dc(swapchain)))
+ if (!(ctx->hdc = swapchain_get_backup_dc(swapchain)))
{
context_set_current(NULL);
return FALSE;
}
- if (!context_set_pixel_format(ctx, dc, TRUE, ctx->pixel_format))
+ ctx->hdc_is_private = TRUE;
+ ctx->hdc_has_format = FALSE;
+
+ if (!context_set_pixel_format(ctx, ctx->hdc, TRUE, ctx->pixel_format))
{
ERR("Failed to set pixel format %d on device context %p.\n",
- ctx->pixel_format, dc);
+ ctx->pixel_format, ctx->hdc);
context_set_current(NULL);
return FALSE;
}
- if (!wglMakeCurrent(dc, ctx->glCtx))
+ if (!wglMakeCurrent(ctx->hdc, ctx->glCtx))
{
ERR("Fallback to backup window (dc %p) failed too, last error %#x.\n",
- dc, GetLastError());
+ ctx->hdc, GetLastError());
context_set_current(NULL);
return FALSE;
}
More information about the wine-cvs
mailing list