From: Piotr Caban piotr@codeweavers.com
--- dlls/wineps.drv/driver.c | 44 +++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 23 deletions(-)
diff --git a/dlls/wineps.drv/driver.c b/dlls/wineps.drv/driver.c index 3b0300f3fd2..4d7dbdefab0 100644 --- a/dlls/wineps.drv/driver.c +++ b/dlls/wineps.drv/driver.c @@ -218,7 +218,7 @@ void PSDRV_MergeDevmodes( PSDRV_DEVMODE *dm1, const PSDRV_DEVMODE *dm2, PRINTERI typedef struct { PRINTERINFO *pi; - PSDRV_DEVMODE *dlgdm; + PSDRV_DEVMODE dlgdm; } PSDRV_DLGINFO;
/**************************************************************** @@ -339,17 +339,17 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg, } TRACE("Setting pagesize to item %d, WinPage %d (%s), PaperSize %.2fx%.2f\n", Cursel, ps->WinPage, ps->FullName, ps->PaperDimension->x, ps->PaperDimension->y); - di->dlgdm->dmPublic.dmPaperSize = ps->WinPage; - di->dlgdm->dmPublic.dmFields |= DM_PAPERSIZE; + di->dlgdm.dmPublic.dmPaperSize = ps->WinPage; + di->dlgdm.dmPublic.dmFields |= DM_PAPERSIZE;
- di->dlgdm->dmPublic.dmPaperWidth = paper_size_from_points(ps->PaperDimension->x); - di->dlgdm->dmPublic.dmPaperLength = paper_size_from_points(ps->PaperDimension->y); - di->dlgdm->dmPublic.dmFields |= DM_PAPERLENGTH | DM_PAPERWIDTH; + di->dlgdm.dmPublic.dmPaperWidth = paper_size_from_points(ps->PaperDimension->x); + di->dlgdm.dmPublic.dmPaperLength = paper_size_from_points(ps->PaperDimension->y); + di->dlgdm.dmPublic.dmFields |= DM_PAPERLENGTH | DM_PAPERWIDTH;
- if (di->dlgdm->dmPublic.dmSize >= FIELD_OFFSET(DEVMODEW, dmFormName) + CCHFORMNAME * sizeof(WCHAR)) + if (di->dlgdm.dmPublic.dmSize >= FIELD_OFFSET(DEVMODEW, dmFormName) + CCHFORMNAME * sizeof(WCHAR)) { - MultiByteToWideChar(CP_ACP, 0, ps->FullName, -1, di->dlgdm->dmPublic.dmFormName, CCHFORMNAME); - di->dlgdm->dmPublic.dmFields |= DM_FORMNAME; + MultiByteToWideChar(CP_ACP, 0, ps->FullName, -1, di->dlgdm.dmPublic.dmFormName, CCHFORMNAME); + di->dlgdm.dmPublic.dmFields |= DM_FORMNAME; } SendMessageW(GetParent(hwnd), PSM_CHANGED, 0, 0); } @@ -358,9 +358,9 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg, case IDD_ORIENT_LANDSCAPE: TRACE("Setting orientation to %s\n", wParam == IDD_ORIENT_PORTRAIT ? "portrait" : "landscape"); - di->dlgdm->dmPublic.dmOrientation = wParam == IDD_ORIENT_PORTRAIT ? + di->dlgdm.dmPublic.dmOrientation = wParam == IDD_ORIENT_PORTRAIT ? DMORIENT_PORTRAIT : DMORIENT_LANDSCAPE; - di->dlgdm->dmPublic.dmFields |= DM_ORIENTATION; + di->dlgdm.dmPublic.dmFields |= DM_ORIENTATION; SendMessageW(GetParent(hwnd), PSM_CHANGED, 0, 0); break; case IDD_DUPLEX: @@ -373,8 +373,8 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg, i++; } TRACE("Setting duplex to item %d Winduplex = %d\n", Cursel, duplex->WinDuplex); - di->dlgdm->dmPublic.dmDuplex = duplex->WinDuplex; - di->dlgdm->dmPublic.dmFields |= DM_DUPLEX; + di->dlgdm.dmPublic.dmDuplex = duplex->WinDuplex; + di->dlgdm.dmPublic.dmFields |= DM_DUPLEX; SendMessageW(GetParent(hwnd), PSM_CHANGED, 0, 0); } break; @@ -392,16 +392,16 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg, resy = HIWORD(data); TRACE("Setting resolution to %dx%d\n", resx, resy);
- di->dlgdm->dmPublic.dmPrintQuality = resx; - di->dlgdm->dmPublic.dmFields |= DM_PRINTQUALITY; + di->dlgdm.dmPublic.dmPrintQuality = resx; + di->dlgdm.dmPublic.dmFields |= DM_PRINTQUALITY;
- di->dlgdm->dmPublic.dmYResolution = resy; - di->dlgdm->dmPublic.dmFields |= DM_YRESOLUTION; + di->dlgdm.dmPublic.dmYResolution = resy; + di->dlgdm.dmPublic.dmFields |= DM_YRESOLUTION;
if (di->pi->Devmode->dmPublic.dmFields & DM_LOGPIXELS) { - di->dlgdm->dmPublic.dmLogPixels = resx; - di->dlgdm->dmPublic.dmFields |= DM_LOGPIXELS; + di->dlgdm.dmPublic.dmLogPixels = resx; + di->dlgdm.dmPublic.dmFields |= DM_LOGPIXELS; }
SendMessageW(GetParent(hwnd), PSM_CHANGED, 0, 0); @@ -416,7 +416,7 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg, di = (PSDRV_DLGINFO *)GetWindowLongPtrW(hwnd, DWLP_USER); switch(nmhdr->code) { case PSN_APPLY: - *di->pi->Devmode = *di->dlgdm; + *di->pi->Devmode = di->dlgdm; SetWindowLongPtrW(hwnd, DWLP_MSGRESULT, PSNRET_NOERROR); return TRUE;
@@ -479,7 +479,6 @@ INT WINAPI DrvDocumentProperties(HWND hwnd, const WCHAR *device, DEVMODEW *outpu PROPSHEETPAGEW psp; PROPSHEETHEADERW psh; PSDRV_DLGINFO di; - PSDRV_DEVMODE dlgdm; WCHAR SetupW[64];
LoadStringW(PSDRV_hInstance, IDS_SETUP, SetupW, ARRAY_SIZE(SetupW)); @@ -488,9 +487,8 @@ INT WINAPI DrvDocumentProperties(HWND hwnd, const WCHAR *device, DEVMODEW *outpu "CreatePropertySheetPageW"); pPropertySheet = (void*)GetProcAddress(hinstComctl32, "PropertySheetW"); memset(&psp,0,sizeof(psp)); - dlgdm = *pi->Devmode; di.pi = pi; - di.dlgdm = &dlgdm; + di.dlgdm = *pi->Devmode; psp.dwSize = sizeof(psp); psp.hInstance = PSDRV_hInstance; psp.pszTemplate = L"PAPER";