[PATCH] Handle case where no printer is configured

Marcus Meissner marcus at jet.franken.de
Sun Aug 19 04:34:57 CDT 2007


It still puts up a messagebox, but no longer fails.

Ciao, Marcus
---
 dlls/comdlg32/tests/printdlg.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/comdlg32/tests/printdlg.c b/dlls/comdlg32/tests/printdlg.c
index 4577bb9..eacfae5 100644
--- a/dlls/comdlg32/tests/printdlg.c
+++ b/dlls/comdlg32/tests/printdlg.c
@@ -73,10 +73,16 @@ static void test_PageSetupDlgA(void)
     pDlg->Flags = PSD_RETURNDEFAULT;
     SetLastError(0xdeadbeef);
     res = PageSetupDlgA(pDlg);
+    trace("after pagesetupdlga res = %d, le %d, ext error 0x%x\n",
+	res, GetLastError(), CommDlgExtendedError());
     ok( res || (CommDlgExtendedError() == PDERR_NODEFAULTPRN),
         "returned %u with %u and 0x%x (expected '!= 0' or '0' and "
         "PDERR_NODEFAULTPRN)\n", res, GetLastError(), CommDlgExtendedError());
-
+    if (!res && (CommDlgExtendedError() == PDERR_NODEFAULTPRN)) {
+	skip("No printer configured.\n");
+    	HeapFree(GetProcessHeap(), 0, pDlg);
+	return;
+    }
     ok( pDlg->hDevMode && pDlg->hDevNames,
         "got %p and %p (expected '!= NULL' for both)\n",
         pDlg->hDevMode, pDlg->hDevNames);
-- 
1.4.3.4



More information about the wine-patches mailing list