Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
libqt4-sql-plugins.2102
0001-QPdf-addImage-avoid-a-QImage-detach-when-i...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-QPdf-addImage-avoid-a-QImage-detach-when-it-s-in-an-.patch of Package libqt4-sql-plugins.2102
From 5f0f5dd371cb5fbd1ae1cb8f7b6f03c0109d2d6c Mon Sep 17 00:00:00 2001 From: Martin Pley <qt@pley.org> Date: Tue, 10 Jun 2014 12:53:59 +0200 Subject: [PATCH] QPdf::addImage(): avoid a QImage detach when it's in an acceptable Format Don't detach QImage, when it's in Format_Mono or Format_ARG32. Use QImage::constScanLine() instead of QImage::scanLine(). Change-Id: I30fcafb576aea3189637a40fd75f77c70017ba46 Reviewed-by: John Layt <jlayt@kde.org> Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com> (cherry picked from qtbase/1a32cc0ae42a4a49f2d45b8ad8251ec40a30bf76) Reviewed-by: Gunnar Sletta <gunnar@sletta.org> --- src/gui/painting/qprintengine_pdf.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/painting/qprintengine_pdf.cpp b/src/gui/painting/qprintengine_pdf.cpp index b622611..57dc162 100644 --- a/src/gui/painting/qprintengine_pdf.cpp +++ b/src/gui/painting/qprintengine_pdf.cpp @@ -559,7 +559,7 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n data.resize(bytesPerLine * h); char *rawdata = data.data(); for (int y = 0; y < h; ++y) { - memcpy(rawdata, image.scanLine(y), bytesPerLine); + memcpy(rawdata, image.constScanLine(y), bytesPerLine); rawdata += bytesPerLine; } object = writeImage(data, w, h, d, 0, 0); @@ -581,7 +581,7 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n softMaskData.resize(w * h); uchar *sdata = (uchar *)softMaskData.data(); for (int y = 0; y < h; ++y) { - const QRgb *rgb = (const QRgb *)image.scanLine(y); + const QRgb *rgb = (const QRgb *)image.constScanLine(y); for (int x = 0; x < w; ++x) { uchar alpha = qAlpha(*rgb); *sdata++ = alpha; @@ -597,7 +597,7 @@ int QPdfEnginePrivate::addImage(const QImage &img, bool *bitmap, qint64 serial_n softMaskData.resize(w * h); uchar *sdata = (uchar *)softMaskData.data(); for (int y = 0; y < h; ++y) { - const QRgb *rgb = (const QRgb *)image.scanLine(y); + const QRgb *rgb = (const QRgb *)image.constScanLine(y); if (colorMode == QPrinter::GrayScale) { for (int x = 0; x < w; ++x) { *(data++) = qGray(*rgb); -- 2.0.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor