Module: wine Branch: master Commit: dd51cd8d00b3b2cebca1353a85a3c7d3f332ade9 URL: https://source.winehq.org/git/wine.git/?a=commit;h=dd51cd8d00b3b2cebca1353a8...
Author: Francois Gouget fgouget@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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 */