diff -r 5dc02b23752f -r 3e2da88830cd src/gui/image/qpnghandler.cpp --- a/src/gui/image/qpnghandler.cpp Tue Jul 06 15:10:48 2010 +0300 +++ b/src/gui/image/qpnghandler.cpp Wed Aug 18 10:37:55 2010 +0300 @@ -892,13 +892,15 @@ bool QPngHandler::canRead() const { - if (d->state == QPngHandlerPrivate::Ready) { - if (!canRead(device())) - return false; + if (d->state == QPngHandlerPrivate::Ready && !canRead(device())) + return false; + + if (d->state != QPngHandlerPrivate::Error) { setFormat("png"); return true; } - return d->state != QPngHandlerPrivate::Error; + + return false; } bool QPngHandler::canRead(QIODevice *device)