From 3226a71a89f63fc590d1fa371c96bdd1dbe1e286 Mon Sep 17 00:00:00 2001 From: Dyami Caliri Date: Thu, 19 Jun 2014 11:56:17 -0700 Subject: QWindowsPrintDevice check for NULL pDevMode from PPRINTER_INFO_2 The MSDN documentation states that the pDevMode member of PPRINTER_INFO_2 may be NULL. Task-number: QTBUG-39764 Change-Id: I9c3a4bb565115415dbf45544f3d2391107356610 Reviewed-by: Friedemann Kleint --- src/plugins/printsupport/windows/qwindowsprintdevice.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins/printsupport') diff --git a/src/plugins/printsupport/windows/qwindowsprintdevice.cpp b/src/plugins/printsupport/windows/qwindowsprintdevice.cpp index 2c75ab7016..915d8380c7 100644 --- a/src/plugins/printsupport/windows/qwindowsprintdevice.cpp +++ b/src/plugins/printsupport/windows/qwindowsprintdevice.cpp @@ -252,6 +252,9 @@ QMarginsF QWindowsPrintDevice::printableMargins(const QPageSize &pageSize, if (GetPrinter(m_hPrinter, 2, buffer.data(), needed, &needed)) { PPRINTER_INFO_2 info = reinterpret_cast(buffer.data()); DEVMODE *devMode = info->pDevMode; + if (!devMode) + return margins; + HDC pDC = CreateDC(NULL, (LPWSTR)m_id.utf16(), NULL, devMode); if (pageSize.id() == QPageSize::Custom || pageSize.windowsId() <= 0 || pageSize.windowsId() > DMPAPER_LAST) { devMode->dmPaperSize = 0; -- cgit v1.2.3