summaryrefslogtreecommitdiffstats
path: root/src/printsupport/kernel/qprintengine_win.cpp
diff options
context:
space:
mode:
authorAndy Shaw <andy.shaw@qt.io>2017-08-21 14:34:17 +0200
committerAndy Shaw <andy.shaw@qt.io>2017-08-25 06:50:10 +0000
commit8ebfe00f4ab79516a8276929a682c24f4c675b5f (patch)
tree300b3bc21caddde394ecdff542993a060b3b1bf1 /src/printsupport/kernel/qprintengine_win.cpp
parent31190140c3aa11570f4c07ca2cb62b2bfe96a131 (diff)
Initialize the print engine with the given printer name
Originally when the QPrinter was created it would create the engine with the default printer and then change it afterwards even though the desired printer may already be known here. So by passing the printer name we ensure that it is initialized with the desired one right away. Task-number: QTBUG-62221 Change-Id: Iaa90243708b57bf89354a527a982ac45c991f603 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/printsupport/kernel/qprintengine_win.cpp')
-rw-r--r--src/printsupport/kernel/qprintengine_win.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp
index 37f2290d94..e399118cc9 100644
--- a/src/printsupport/kernel/qprintengine_win.cpp
+++ b/src/printsupport/kernel/qprintengine_win.cpp
@@ -79,7 +79,7 @@ extern QMarginsF qt_convertMargins(const QMarginsF &margins, QPageLayout::Unit f
static void draw_text_item_win(const QPointF &_pos, const QTextItemInt &ti, HDC hdc,
const QTransform &xform, const QPointF &topLeft);
-QWin32PrintEngine::QWin32PrintEngine(QPrinter::PrinterMode mode)
+QWin32PrintEngine::QWin32PrintEngine(QPrinter::PrinterMode mode, const QString &deviceId)
: QAlphaPaintEngine(*(new QWin32PrintEnginePrivate),
PaintEngineFeatures(PrimitiveTransform
| PixmapTransform
@@ -92,7 +92,7 @@ QWin32PrintEngine::QWin32PrintEngine(QPrinter::PrinterMode mode)
d->mode = mode;
QPlatformPrinterSupport *ps = QPlatformPrinterSupportPlugin::get();
if (ps)
- d->m_printDevice = ps->createDefaultPrintDevice();
+ d->m_printDevice = ps->createPrintDevice(deviceId.isEmpty() ? ps->defaultPrintDeviceId() : deviceId);
d->m_pageLayout.setPageSize(d->m_printDevice.defaultPageSize());
d->initialize();
}