Module: wine Branch: master Commit: 2c531ade2e106799d382bda6e8c57531170b879b URL: http://source.winehq.org/git/wine.git/?a=commit;h=2c531ade2e106799d382bda6e8...
Author: Francois Gouget fgouget@free.fr Date: Thu Dec 14 18:13:01 2006 +0100
comdlg32: Fix PrintDlg(NULL) and reenable a test that was in an '#if 0'.
Fix the test so it compiles without warnings.
---
dlls/comdlg32/printdlg.c | 26 +++++++++++++++++++------- dlls/comdlg32/tests/printdlg.c | 5 +---- 2 files changed, 20 insertions(+), 11 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c index 6b6a725..85ffe00 100644 --- a/dlls/comdlg32/printdlg.c +++ b/dlls/comdlg32/printdlg.c @@ -1994,9 +1994,16 @@ static BOOL PRINTDLG_CreateDCW(LPPRINTDL BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) { BOOL bRet = FALSE; - LPVOID ptr; - HINSTANCE hInst = (HINSTANCE)GetWindowLongPtrA( lppd->hwndOwner, GWLP_HINSTANCE ); + LPVOID ptr; + HINSTANCE hInst;
+ if (!lppd) + { + COMDLG32_SetCommDlgExtendedError(CDERR_INITIALIZATION); + return FALSE; + } + + hInst = (HINSTANCE)GetWindowLongPtrA( lppd->hwndOwner, GWLP_HINSTANCE ); if(TRACE_ON(commdlg)) { char flagstr[1000] = ""; const struct pd_flags *pflag = pd_flags; @@ -2131,14 +2138,19 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA lppd) * * See PrintDlgA. */ -BOOL WINAPI PrintDlgW( - LPPRINTDLGW lppd /* [in/out] ptr to PRINTDLG32 struct */ - ) +BOOL WINAPI PrintDlgW(LPPRINTDLGW lppd) { BOOL bRet = FALSE; - LPVOID ptr; - HINSTANCE hInst = (HINSTANCE)GetWindowLongPtrW( lppd->hwndOwner, GWLP_HINSTANCE ); + LPVOID ptr; + HINSTANCE hInst; + + if (!lppd) + { + COMDLG32_SetCommDlgExtendedError(CDERR_INITIALIZATION); + return FALSE; + }
+ hInst = (HINSTANCE)GetWindowLongPtrW( lppd->hwndOwner, GWLP_HINSTANCE ); if(TRACE_ON(commdlg)) { char flagstr[1000] = ""; const struct pd_flags *pflag = pd_flags; diff --git a/dlls/comdlg32/tests/printdlg.c b/dlls/comdlg32/tests/printdlg.c index bd3ddf1..0ef12d7 100644 --- a/dlls/comdlg32/tests/printdlg.c +++ b/dlls/comdlg32/tests/printdlg.c @@ -46,15 +46,12 @@ static void test_PrintDlgA(void) if (!pDlg) return;
-#if 0 /* will crash with unpatched wine */ SetLastError(0xdeadbeef); res = PrintDlgA(NULL); ok( !res && (CommDlgExtendedError() == CDERR_INITIALIZATION), - "returned %ld with 0x%lx and 0x%lx (expected '0' and " \ + "returned %d with 0x%x and 0x%x (expected '0' and " \ "CDERR_INITIALIZATION)\n", res, GetLastError(), CommDlgExtendedError()); - } -#endif
ZeroMemory(pDlg, sizeof(PRINTDLGA)); pDlg->lStructSize = sizeof(PRINTDLGA) - 1;