diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 9ae0cc71d..bcc89e543 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -3759,6 +3759,7 @@ QDataStream &operator<<(QDataStream &s, const QImage &image) s << (qint64) image.dotsPerMeterY(); s << (qint64) image.byteCount(); s << image.colorTable(); + s << (bool)image.d->has_alpha_clut; s.writeRawData(reinterpret_cast(image.constBits()), image.byteCount()); return s; } @@ -3782,6 +3783,7 @@ QDataStream &operator>>(QDataStream &s, QImage &image) qint64 dotspery; qint64 bytecount; QVector colortable; + bool alphaclut; s >> format; s >> width; s >> height; @@ -3789,6 +3791,7 @@ QDataStream &operator>>(QDataStream &s, QImage &image) s >> dotspery; s >> bytecount; s >> colortable; + s >> alphaclut; image = QImage(width, height, static_cast(format)); if (image.isNull()) { @@ -3803,6 +3806,7 @@ QDataStream &operator>>(QDataStream &s, QImage &image) return s; } + image.d->has_alpha_clut = alphaclut; image.d->colortable = colortable; image.d->dpmx = dotsperx; image.d->dpmy = dotspery; diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h index 241810709..37e428e03 100644 --- a/src/gui/image/qimage.h +++ b/src/gui/image/qimage.h @@ -214,6 +214,7 @@ private: friend class QSpanData; friend class QPngHandler; #if !defined(QT_NO_DATASTREAM) + friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QImage &); friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QImage &); #endif };