Module: wine Branch: master Commit: 4723b6b8c5370782c5735cac98fedf5bc4b239cf URL: https://gitlab.winehq.org/wine/wine/-/commit/4723b6b8c5370782c5735cac98fedf5...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Aug 15 19:56:21 2022 +0200
winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
---
dlls/winspool.drv/info.c | 2 +- dlls/winspool.drv/tests/info.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c index e1cd0338207..d800eae159f 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -1889,7 +1889,7 @@ LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, TRACE("(%p,%p,%s,%p,%p,%ld)\n", hWnd, hPrinter, debugstr_w(pDeviceName), pDevModeOutput, pDevModeInput, fMode);
- device = pDeviceName && pDeviceName[0] ? pDeviceName : get_opened_printer_name(hPrinter); + device = hPrinter ? get_opened_printer_name(hPrinter) : pDeviceName; if (!device) { ERR("no device name\n"); return -1; diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c index f7464d9d696..47f602b7de3 100644 --- a/dlls/winspool.drv/tests/info.c +++ b/dlls/winspool.drv/tests/info.c @@ -2679,6 +2679,7 @@ static void test_DocumentProperties(void) LONG dm_size, ret; DEVMODEA *dm; char empty_str[] = ""; + char non_existing_str[] = "non existing printer";
if (!default_printer) { @@ -2707,6 +2708,9 @@ static void test_DocumentProperties(void) ret = DocumentPropertiesA(0, hprn, empty_str, dm, dm, DM_OUT_BUFFER); ok(ret == IDOK, "DocumentPropertiesA ret value %ld != expected IDOK\n", ret);
+ ret = DocumentPropertiesA(0, hprn, non_existing_str, dm, dm, DM_OUT_BUFFER); + ok(ret == IDOK, "DocumentPropertiesA ret value %ld != expected IDOK\n", ret); + test_DEVMODEA(dm, dm_size, default_printer);
HeapFree(GetProcessHeap(), 0, dm);