summaryrefslogtreecommitdiffstats
path: root/src/printsupport
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2014-02-12 16:28:07 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-02-12 16:28:07 +0100
commita9c88c1f39c41215eb9d7288a1fd02aa865e8a04 (patch)
treed6229a2370f202d5ff8a5f56da1f43982bc524c2 /src/printsupport
parentff23fb6cf723bcc52a5f037ef92500c480ce5a5c (diff)
parent8e22d71b225576ae7ccd6ed349c05219bae7689e (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: src/gui/image/qimage.cpp src/gui/text/qtextengine.cpp src/plugins/platforms/linuxfb/qlinuxfbscreen.cpp src/printsupport/kernel/qprintengine_win.cpp Change-Id: I09ce991a57f39bc7b1ad6978d0e0d858df0cd444
Diffstat (limited to 'src/printsupport')
-rw-r--r--src/printsupport/kernel/qprintengine_win.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/printsupport/kernel/qprintengine_win.cpp b/src/printsupport/kernel/qprintengine_win.cpp
index da328418b7..74484bfc8c 100644
--- a/src/printsupport/kernel/qprintengine_win.cpp
+++ b/src/printsupport/kernel/qprintengine_win.cpp
@@ -1993,13 +1993,17 @@ static void draw_text_item_win(const QPointF &pos, const QTextItemInt &ti, HDC h
void QWin32PrintEnginePrivate::updateCustomPaperSize()
{
const uint paperSize = devMode->dmPaperSize;
+ const double multiplier = qt_multiplierForUnit(QPrinter::Millimeter, resolution);
has_custom_paper_size = false;
- if (paperSize > 0 && mapDevmodePaperSize(paperSize) == QPrinter::Custom) {
+ if (paperSize == DMPAPER_USER) {
+ has_custom_paper_size = true;
+ paper_size = QSizeF((devMode->dmPaperWidth / 10.0) * multiplier, (devMode->dmPaperLength / 10.0) * multiplier);
+ } else if (mapDevmodePaperSize(paperSize) == QPrinter::Custom) {
has_custom_paper_size = true;
const QList<QPair<QSizeF, int> > paperSizes = printerPaperSizes(name);
for (int i=0; i<paperSizes.size(); i++) {
if ((uint)paperSizes.at(i).second == paperSize) {
- paper_size = paperSizes.at(i).first;
+ paper_size = paperSizes.at(i).first * multiplier;
has_custom_paper_size = false;
break;
}