summaryrefslogtreecommitdiffstats
path: root/src/printsupport/dialogs/qpagesetupdialog_win.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2015-04-08 06:52:22 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2015-04-08 06:52:22 +0000
commit4cee9928f25926581c5bfcffeb648d89e0b232ec (patch)
treee4b3d5109b177a607c2275ed4729ea0a23e0d45c /src/printsupport/dialogs/qpagesetupdialog_win.cpp
parent0d4232f53100eb04f8aa85ea2a7aee395baf337f (diff)
parent20cac3d9c9c22153e9e316daff32b6050ff6be6b (diff)
Merge "Merge remote-tracking branch 'origin/5.5' into dev" into refs/staging/dev
Diffstat (limited to 'src/printsupport/dialogs/qpagesetupdialog_win.cpp')
-rw-r--r--src/printsupport/dialogs/qpagesetupdialog_win.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/printsupport/dialogs/qpagesetupdialog_win.cpp b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
index 04698901f7..afe0268e55 100644
--- a/src/printsupport/dialogs/qpagesetupdialog_win.cpp
+++ b/src/printsupport/dialogs/qpagesetupdialog_win.cpp
@@ -134,6 +134,13 @@ int QPageSetupDialog::exec()
// copy from our temp DEVMODE struct
if (!engine->globalDevMode() && hDevMode) {
+ // Make sure memory is allocated
+ if (ep->ownsDevMode && ep->devMode)
+ free(ep->devMode);
+ ep->devMode = (DEVMODE *) malloc(devModeSize);
+ ep->ownsDevMode = true;
+
+ // Copy
void *src = GlobalLock(hDevMode);
memcpy(ep->devMode, src, devModeSize);
GlobalUnlock(hDevMode);