Tatyana Fokina : winspool.drv: Fix DocumentProperties with empty device name.

Alexandre Julliard julliard at winehq.org
Fri Apr 5 14:02:16 CDT 2013


Module: wine
Branch: master
Commit: f63d59d640f48f5c734e09c5f0c4e322e9a6b3ee
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=f63d59d640f48f5c734e09c5f0c4e322e9a6b3ee

Author: Tatyana Fokina <tatyana at etersoft.ru>
Date:   Fri Apr  5 11:41:29 2013 +0400

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 deletions(-)

diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 141b2f4..fc74e76 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 1c98d4d..3990fb8 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);




More information about the wine-cvs mailing list