Alexander Nicolaysen Sørnes : comdlg32: PageSetupDlgA/W: Avoid crash when not passed a DEVMODE structure.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Aug 27 06:07:41 CDT 2007
Module: wine
Branch: master
Commit: 1065d52486e0005be5fd1d19055c546909b4733c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1065d52486e0005be5fd1d19055c546909b4733c
Author: Alexander Nicolaysen Sørnes <alex at thehandofagony.com>
Date: Thu Aug 23 15:09:08 2007 +0200
comdlg32: PageSetupDlgA/W: Avoid crash when not passed a DEVMODE structure.
---
dlls/comdlg32/printdlg.c | 33 ++++++++++++++++++++-------------
1 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/dlls/comdlg32/printdlg.c b/dlls/comdlg32/printdlg.c
index 714f09c..f3736ce 100644
--- a/dlls/comdlg32/printdlg.c
+++ b/dlls/comdlg32/printdlg.c
@@ -3167,12 +3167,15 @@ PRINTDLG_PageDlgProcA(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
EnableWindow(GetDlgItem(hDlg, edt7), FALSE);
}
/* Set orientation radiobutton properly */
- dm = GlobalLock(pda->dlga->hDevMode);
- if (dm->u1.s1.dmOrientation == DMORIENT_LANDSCAPE)
- CheckRadioButton(hDlg, rad1, rad2, rad2);
- else /* this is default if papersize is not set */
- CheckRadioButton(hDlg, rad1, rad2, rad1);
- GlobalUnlock(pda->dlga->hDevMode);
+ if(pda->dlga->hDevMode)
+ {
+ dm = GlobalLock(pda->dlga->hDevMode);
+ if (dm->u1.s1.dmOrientation == DMORIENT_LANDSCAPE)
+ CheckRadioButton(hDlg, rad1, rad2, rad2);
+ else /* this is default if papersize is not set */
+ CheckRadioButton(hDlg, rad1, rad2, rad1);
+ GlobalUnlock(pda->dlga->hDevMode);
+ }
/* if orientation disabled */
if (pda->dlga->Flags & PSD_DISABLEORIENTATION) {
@@ -3280,13 +3283,17 @@ PageDlgProcW(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
EnableWindow(GetDlgItem(hDlg, edt7), FALSE);
}
- dm = GlobalLock(pda->dlga->hDevMode);
- /* Landscape orientation */
- if (dm->u1.s1.dmOrientation == DMORIENT_LANDSCAPE)
- CheckRadioButton(hDlg, rad1, rad2, rad2);
- else /* this is default if papersize is not set */
- CheckRadioButton(hDlg, rad1, rad2, rad1);
- GlobalUnlock(pda->dlga->hDevMode);
+ if(pda->dlga->hDevMode)
+ {
+ dm = GlobalLock(pda->dlga->hDevMode);
+ /* Landscape orientation */
+ if (dm->u1.s1.dmOrientation == DMORIENT_LANDSCAPE)
+ CheckRadioButton(hDlg, rad1, rad2, rad2);
+ else /* this is default if papersize is not set */
+ CheckRadioButton(hDlg, rad1, rad2, rad1);
+ GlobalUnlock(pda->dlga->hDevMode);
+ }
+
if (pda->dlga->Flags & PSD_DISABLEORIENTATION) {
EnableWindow(GetDlgItem(hDlg,rad1),FALSE);
EnableWindow(GetDlgItem(hDlg,rad2),FALSE);
More information about the wine-cvs
mailing list