Piotr Caban : winspool.drv: Ignore device name if printer handle is passed in DocumentProperties.
Alexandre Julliard
julliard at winehq.org
Tue Aug 16 16:00:59 CDT 2022
Module: wine
Branch: master
Commit: 4723b6b8c5370782c5735cac98fedf5bc4b239cf
URL: https://gitlab.winehq.org/wine/wine/-/commit/4723b6b8c5370782c5735cac98fedf5bc4b239cf
Author: Piotr Caban <piotr at 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);
More information about the wine-cvs
mailing list