opengl32: Set last error on invalid hdc to wglCreateContextAttribsARB.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
4def77e4f8
commit
ed4271fae9
|
@ -884,12 +884,13 @@ static void test_opengl3(HDC hdc)
|
|||
{
|
||||
HGLRC gl3Ctx;
|
||||
DWORD error;
|
||||
SetLastError(0xdeadbeef);
|
||||
gl3Ctx = pwglCreateContextAttribsARB((HDC)0xdeadbeef, 0, 0);
|
||||
ok(gl3Ctx == 0, "pwglCreateContextAttribsARB using an invalid HDC passed\n");
|
||||
error = GetLastError();
|
||||
todo_wine ok(error == ERROR_DC_NOT_FOUND ||
|
||||
broken(error == NVIDIA_HRESULT_FROM_WIN32(ERROR_INVALID_DATA)), /* Nvidia Vista + Win7 */
|
||||
"Expected ERROR_DC_NOT_FOUND, got error=%x\n", error);
|
||||
ok(error == ERROR_DC_NOT_FOUND ||
|
||||
broken(error == NVIDIA_HRESULT_FROM_WIN32(ERROR_INVALID_DATA)), /* Nvidia Vista + Win7 */
|
||||
"Expected ERROR_DC_NOT_FOUND, got error=%x\n", error);
|
||||
wglDeleteContext(gl3Ctx);
|
||||
}
|
||||
|
||||
|
|
|
@ -274,7 +274,12 @@ HGLRC WINAPI wglCreateContextAttribsARB( HDC hdc, HGLRC share, const int *attrib
|
|||
struct opengl_context *context;
|
||||
struct opengl_funcs *funcs = get_dc_funcs( hdc );
|
||||
|
||||
if (!funcs || !funcs->ext.p_wglCreateContextAttribsARB) return 0;
|
||||
if (!funcs)
|
||||
{
|
||||
SetLastError( ERROR_DC_NOT_FOUND );
|
||||
return 0;
|
||||
}
|
||||
if (!funcs->ext.p_wglCreateContextAttribsARB) return 0;
|
||||
if (share && !(share_ptr = get_handle_ptr( share, HANDLE_CONTEXT ))) return 0;
|
||||
if ((drv_ctx = funcs->ext.p_wglCreateContextAttribsARB( hdc,
|
||||
share_ptr ? share_ptr->u.context->drv_ctx : NULL, attribs )))
|
||||
|
|
Loading…
Reference in New Issue