diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-08-30 13:42:43 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2016-08-30 12:02:09 +0000 |
commit | 579283507c392fc5bc0976c054304ecb8938cb06 (patch) | |
tree | 4da46bf12275a0c318f4cbdfa92830a5669d96f5 /src/printsupport/kernel/qprintengine_win.cpp | |
parent | ce2815b43c3f10c474c35d30197e14c58c9106ff (diff) |
QWin32PrintEngine: Fix uninitialized memory read of dpi_x, dpi_y
Discovered by purify:
QWin32PrintEnginePrivate::initialize() called updateMetrics()
via updatePageLayout() after initHDC(), so dpi_x, dpi_y
were accessed before initialized from the display resolution.
Fix by moving the call initHDC() up and giving default
values.
Change-Id: Ia360c06d156e569ca6b1472ec5b5cdc52948f913
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'src/printsupport/kernel/qprintengine_win.cpp')
-rw-r--r-- | src/printsupport/kernel/qprintengine_win.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp index a9d316095c..1c02d389fe 100644 --- a/src/printsupport/kernel/qprintengine_win.cpp +++ b/src/printsupport/kernel/qprintengine_win.cpp @@ -918,14 +918,14 @@ void QWin32PrintEnginePrivate::initialize() Q_ASSERT(hPrinter); Q_ASSERT(pInfo); + initHDC(); + if (devMode) { num_copies = devMode->dmCopies; devMode->dmCollate = DMCOLLATE_TRUE; updatePageLayout(); } - initHDC(); - #if defined QT_DEBUG_DRAW || defined QT_DEBUG_METRICS qDebug() << "QWin32PrintEngine::initialize()"; debugMetrics(); |