Francois Gouget : gdi32/tests: Avoid a D3DKMTOpenAdapterFromHdc() crash on Windows 10 >= 2004.
Module: wine Branch: master Commit: dd51cd8d00b3b2cebca1353a85a3c7d3f332ade9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=dd51cd8d00b3b2cebca1353a8... Author: Francois Gouget <fgouget(a)codeweavers.com> Date: Mon Nov 9 17:59:45 2020 +0100 gdi32/tests: Avoid a D3DKMTOpenAdapterFromHdc() crash on Windows 10 >= 2004. Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/tests/driver.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dlls/gdi32/tests/driver.c b/dlls/gdi32/tests/driver.c index 8276c1c4bee..2110765835f 100644 --- a/dlls/gdi32/tests/driver.c +++ b/dlls/gdi32/tests/driver.c @@ -105,18 +105,23 @@ static void test_D3DKMTOpenAdapterFromHdc(void) HDC hdc; DWORD i; - if (!pD3DKMTOpenAdapterFromHdc || pD3DKMTOpenAdapterFromHdc(NULL) == STATUS_PROCEDURE_NOT_FOUND) + if (!pD3DKMTOpenAdapterFromHdc) { - win_skip("D3DKMTOpenAdapterFromHdc() is unavailable.\n"); + win_skip("D3DKMTOpenAdapterFromHdc() is missing.\n"); return; } /* Invalid parameters */ - status = pD3DKMTOpenAdapterFromHdc(NULL); - todo_wine ok(status == STATUS_INVALID_PARAMETER, "Got unexpected return code %#x.\n", status); + /* Passing a NULL pointer crashes on Windows 10 >= 2004 */ + if (0) status = pD3DKMTOpenAdapterFromHdc(NULL); memset(&open_adapter_hdc_desc, 0, sizeof(open_adapter_hdc_desc)); status = pD3DKMTOpenAdapterFromHdc(&open_adapter_hdc_desc); + if (status == STATUS_PROCEDURE_NOT_FOUND) + { + win_skip("D3DKMTOpenAdapterFromHdc() is not supported.\n"); + return; + } todo_wine ok(status == STATUS_INVALID_PARAMETER, "Got unexpected return code %#x.\n", status); /* Open adapter */
participants (1)
-
Alexandre Julliard