summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/painting/qbrush.cpp18
-rw-r--r--src/gui/painting/qpdf.cpp4
2 files changed, 16 insertions, 6 deletions
diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp
index d136f3a903..40dad85cde 100644
--- a/src/gui/painting/qbrush.cpp
+++ b/src/gui/painting/qbrush.cpp
@@ -1029,7 +1029,10 @@ QDataStream &operator<<(QDataStream &s, const QBrush &b)
s << style << b.color();
if (b.style() == Qt::TexturePattern) {
- s << b.texture();
+ if (s.version() >= QDataStream::Qt_5_5)
+ s << b.textureImage();
+ else
+ s << b.texture();
} else if (s.version() >= QDataStream::Qt_4_0 && gradient_style) {
const QGradient *gradient = b.gradient();
int type_as_int = int(gradient->type());
@@ -1089,10 +1092,17 @@ QDataStream &operator>>(QDataStream &s, QBrush &b)
QColor color;
s >> style;
s >> color;
+ b = QBrush(color);
if (style == Qt::TexturePattern) {
- QPixmap pm;
- s >> pm;
- b = QBrush(color, pm);
+ if (s.version() >= QDataStream::Qt_5_5) {
+ QImage img;
+ s >> img;
+ b.setTextureImage(qMove(img));
+ } else {
+ QPixmap pm;
+ s >> pm;
+ b.setTexture(qMove(pm));
+ }
} else if (style == Qt::LinearGradientPattern
|| style == Qt::RadialGradientPattern
|| style == Qt::ConicalGradientPattern) {
diff --git a/src/gui/painting/qpdf.cpp b/src/gui/painting/qpdf.cpp
index 2efaec41ef..687d8efcec 100644
--- a/src/gui/painting/qpdf.cpp
+++ b/src/gui/painting/qpdf.cpp
@@ -2264,9 +2264,9 @@ int QPdfEnginePrivate::addBrushPattern(const QTransform &m, bool *specifyColor,
if (pattern.isEmpty()) {
if (brush.style() != Qt::TexturePattern)
return 0;
- QImage image = brush.texture().toImage();
+ QImage image = brush.textureImage();
bool bitmap = true;
- imageObject = addImage(image, &bitmap, brush.texture().cacheKey());
+ imageObject = addImage(image, &bitmap, image.cacheKey());
if (imageObject != -1) {
QImage::Format f = image.format();
if (f != QImage::Format_MonoLSB && f != QImage::Format_Mono) {