kiconloader/qbuffer device not open puzzle?

David Faure faure at kde.org
Thu Sep 17 14:31:52 UTC 2015


On Thursday 17 September 2015 14:25:27 Boudewijn Rempt wrote:
> I'm wondering if others see this as well and if there's something simple
> that I've missed that fixes it... For me, right now, with an up-to-date
> home-grown Qt 5.5 and kdesrc-build-built frameworks, icons don't get
> loaded once the cache exists.
> 
> In bool KIconLoaderPrivate::findCachedPixmapWithPath(const QString &key,
> QPixmap &data, QString &path), this fragment:
> 
>      QBuffer buffer;
>      buffer.setBuffer(&result);
>      buffer.open(QIODevice::ReadOnly);
> 
>      QDataStream inputStream(&buffer);
>      inputStream.setVersion(QDataStream::Qt_4_6);
> 
>      QString tempPath;
>      inputStream >> tempPath;
> 
>      if (inputStream.status() == QDataStream::Ok) {
>          QPixmap tempPixmap;
>          inputStream >> tempPixmap;
> 
> Gives
> 
> krita(32136)/(default) unknown: QIODevice::seek (QBuffer): The device is not open

Sounds like the pixmap loading reaches the end of the stream, maybe.

Did you try moving out the cache, so it gets recreated? In order to find out
if this is cache corruption or something else.

-- 
David Faure, faure at kde.org, http://www.davidfaure.fr
Working on KDE Frameworks 5



More information about the Kde-frameworks-devel mailing list