From f63d59d640f48f5c734e09c5f0c4e322e9a6b3ee Mon Sep 17 00:00:00 2001 From: Tatyana Fokina Date: Fri, 5 Apr 2013 11:41:29 +0400 Subject: [PATCH] winspool.drv: Fix DocumentProperties with empty device name. --- 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 141b2f4125c..fc74e7606f7 100644 --- a/dlls/winspool.drv/info.c +++ b/dlls/winspool.drv/info.c @@ -2358,7 +2358,7 @@ LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter, hWnd,hPrinter,pDeviceName,pDevModeOutput,pDevModeInput,fMode ); - if(!pDeviceName) { + if(!pDeviceName || !*pDeviceName) { LPCWSTR lpNameW = get_opened_printer_name(hPrinter); if(!lpNameW) { ERR("no name from hPrinter?\n"); diff --git a/dlls/winspool.drv/tests/info.c b/dlls/winspool.drv/tests/info.c index 1c98d4de3f4..3990fb80532 100644 --- a/dlls/winspool.drv/tests/info.c +++ b/dlls/winspool.drv/tests/info.c @@ -2653,6 +2653,7 @@ static void test_DocumentProperties(void) HANDLE hprn; LONG dm_size, ret; DEVMODE *dm; + char empty_str[] = ""; if (!default_printer) { @@ -2678,6 +2679,9 @@ static void test_DocumentProperties(void) ret = DocumentProperties(0, hprn, NULL, dm, dm, DM_OUT_BUFFER); ok(ret == IDOK, "DocumentProperties ret value %d != expected IDOK\n", ret); + ret = DocumentProperties(0, hprn, empty_str, dm, dm, DM_OUT_BUFFER); + ok(ret == IDOK, "DocumentProperties ret value %d != expected IDOK\n", ret); + test_DEVMODE(dm, dm_size, default_printer); HeapFree(GetProcessHeap(), 0, dm);