diff options
Diffstat (limited to 'src/gui/image/qtiffhandler.cpp')
-rw-r--r-- | src/gui/image/qtiffhandler.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/image/qtiffhandler.cpp b/src/gui/image/qtiffhandler.cpp index 4dc9775..51a500d 100644 --- a/src/gui/image/qtiffhandler.cpp +++ b/src/gui/image/qtiffhandler.cpp @@ -158,7 +158,13 @@ bool QTiffHandler::canRead(QIODevice *device) // current implementation uses TIFFClientOpen which needs to be // able to seek, so sequential devices are not supported + int pos = device->pos(); + if (pos != 0) + device->seek(0); // need the magic from the beginning QByteArray header = device->peek(4); + if (pos != 0) + device->seek(pos); // put it back where we found it + return header == QByteArray::fromRawData("\x49\x49\x2A\x00", 4) || header == QByteArray::fromRawData("\x4D\x4D\x00\x2A", 4); } |