diff options
author | David Faure <david.faure@kdab.com> | 2014-12-29 16:37:55 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-01-19 10:39:55 +0100 |
commit | 7fc8c560e21e7175b1fe33c988f3f30e4b326efe (patch) | |
tree | ea24761578f6f68feb41d30a42bd6015c02c7f3f /tests/auto/printsupport | |
parent | 20480070a60469017770257b6c574c5707cda58b (diff) | |
download | qtbase-7fc8c560e21e7175b1fe33c988f3f30e4b326efe.tar.gz |
Fix QPrinter::setPaperSize regression when using QPrinter::DevicePixel
The QPageSize-based refactoring led to casting DevicePixel to a QPageSize::Unit
value of 6 (out of bounds). And then the switch in qt_nameForCustomSize
would leave the string empty, leading to "QString::arg: Argument missing: , 672"
warnings.
Change-Id: I85e97174cc8ead9beccaaa3ded6edfad80f8e360
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
Diffstat (limited to 'tests/auto/printsupport')
-rw-r--r-- | tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp index 78aa0af43d..62bd9828ba 100644 --- a/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp +++ b/tests/auto/printsupport/kernel/qprinter/tst_qprinter.cpp @@ -526,7 +526,7 @@ void tst_QPrinter::testCustomPageSizes() { QPrinter p; - QSizeF customSize(8.5, 11.0); + QSizeF customSize(7.0, 11.0); p.setPaperSize(customSize, QPrinter::Inch); QSizeF paperSize = p.paperSize(QPrinter::Inch); @@ -538,6 +538,16 @@ void tst_QPrinter::testCustomPageSizes() paperSize = p.paperSize(QPrinter::Inch); QCOMPARE(paperSize.width(), customSize.width()); QCOMPARE(paperSize.height(), customSize.height()); + + const QSizeF sizeInPixels = p.paperSize(QPrinter::DevicePixel); + QPrinter p3; + p3.setPaperSize(sizeInPixels, QPrinter::DevicePixel); + paperSize = p3.paperSize(QPrinter::Inch); + QCOMPARE(paperSize.width(), customSize.width()); + QCOMPARE(paperSize.height(), customSize.height()); + QPageSize pageSize = p3.pageLayout().pageSize(); + QCOMPARE(pageSize.key(), QString("Custom.504x792")); + QCOMPARE(pageSize.name(), QString("Custom (504pt x 792pt)")); } void tst_QPrinter::customPaperSizeAndMargins_data() |