From e2eeb3a66e55d83d003b05505891bf0cbd841bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Br=C3=BCning?= Date: Thu, 30 Mar 2017 11:28:44 +0200 Subject: Handle the case when printing result does not contain any data Failing to do so would trigger an assert in the PDFium wrapper's constructor. Change-Id: Iaa53b1baa54e6483a4e7e9985ad841ac3cfef940 Reviewed-by: Joerg Bornemann --- src/webenginewidgets/api/qwebenginepage.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src') diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index b4605ea85..82720ae3f 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -101,6 +101,17 @@ static const int MaxTooltipLength = 1024; #if defined(ENABLE_PRINTING) && defined(ENABLE_PDF) static bool printPdfDataOnPrinter(const QByteArray& data, QPrinter& printer) { + if (!data.size()) { +#if QT_VERSION >= QT_VERSION_CHECK(5, 7, 0) + qWarning("Failure to print on printer %ls: Print result data is empty.", + qUtf16Printable(printer.printerName())); +#else + qWarning("Failure to print on printer %s: Print result data is empty.", + qPrintable(printer.printerName())); +#endif + return false; + } + QRect printerPageRect = printer.pageRect(); PdfiumDocumentWrapperQt pdfiumWrapper(data.constData(), data.size(), printerPageRect.size()); -- cgit v1.2.3