diff --git a/src/gui/image/qpaintengine_pic.cpp b/src/gui/image/qpaintengine_pic.cpp index e89cac452a..224938bd9c 100644 --- a/src/gui/image/qpaintengine_pic.cpp +++ b/src/gui/image/qpaintengine_pic.cpp @@ -140,8 +140,8 @@ bool QPicturePaintEngine::end() } d->s << (quint32) d->pic_d->trecs; // write number of records d->pic_d->pictb.seek(cs_start); - QByteArray buf = d->pic_d->pictb.buffer(); - quint16 cs = (quint16) qChecksum(buf.constData() + data_start, pos - data_start); + const QByteArray buf = d->pic_d->pictb.buffer(); + quint16 cs = (quint16) qChecksum(QByteArrayView(buf.constData() + data_start, pos - data_start)); d->s << cs; // write checksum d->pic_d->pictb.close(); setActive(false); diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp index 77f3e7ffc8..d2ca2bbd22 100644 --- a/src/gui/image/qpicture.cpp +++ b/src/gui/image/qpicture.cpp @@ -1038,10 +1038,10 @@ bool QPicturePrivate::checkFormat() int cs_start = sizeof(quint32); // pos of checksum word int data_start = cs_start + sizeof(quint16); quint16 cs,ccs; - QByteArray buf = pictb.buffer(); // pointer to data + const QByteArray buf = pictb.buffer(); // pointer to data s >> cs; // read checksum - ccs = (quint16) qChecksum(buf.constData() + data_start, buf.size() - data_start); + ccs = (quint16) qChecksum(QByteArrayView(buf.constData() + data_start, buf.size() - data_start)); if (ccs != cs) { qWarning("QPicturePaintEngine::checkFormat: Invalid checksum %x, %x expected", ccs, cs);