wineps.drv: Update dmPaperWidth/Height when dmPaperSize is being changed through UI.

Dmitry Timoshkov dmitry at baikal.ru
Mon Dec 24 22:18:33 CST 2012


---
 dlls/wineps.drv/driver.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/dlls/wineps.drv/driver.c b/dlls/wineps.drv/driver.c
index c1e49d7..8ec51a2 100644
--- a/dlls/wineps.drv/driver.c
+++ b/dlls/wineps.drv/driver.c
@@ -340,10 +340,15 @@ static INT_PTR CALLBACK PSDRV_PaperDlgProc(HWND hwnd, UINT msg,
             if(i >= Cursel) break;
             i++;
         }
-        TRACE("Setting pagesize to item %d Winpage = %d\n", Cursel, ps->WinPage);
+        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.u1.s1.dmPaperSize = ps->WinPage;
         di->dlgdm->dmPublic.dmFields |= DM_PAPERSIZE;
 
+        di->dlgdm->dmPublic.u1.s1.dmPaperWidth  = paper_size_from_points(ps->PaperDimension->x);
+        di->dlgdm->dmPublic.u1.s1.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))
         {
             MultiByteToWideChar(CP_ACP, 0, ps->FullName, -1, di->dlgdm->dmPublic.dmFormName, CCHFORMNAME);
-- 
1.8.0.2




More information about the wine-patches mailing list