plugin/cim: check if cache is valid image

This commit is contained in:
2 * r + 2 * t 2025-08-31 14:40:53 +10:00
parent d66f4ca0f3
commit 4838e803a7
2 changed files with 5 additions and 5 deletions

View file

@ -1,6 +1,6 @@
#include "cachingimagemanager.hpp" #include "cachingimagemanager.hpp"
#include <qobject.h> #include <QObject>
#include <QtQuick/QQuickItem> #include <QtQuick/QQuickItem>
#include <QtQuick/QQuickWindow> #include <QtQuick/QQuickWindow>
#include <QCryptographicHash> #include <QCryptographicHash>
@ -8,6 +8,7 @@
#include <QFile> #include <QFile>
#include <QDir> #include <QDir>
#include <QPainter> #include <QPainter>
#include <QImageReader>
qreal CachingImageManager::effectiveScale() const { qreal CachingImageManager::effectiveScale() const {
if (m_item && m_item->window()) { if (m_item && m_item->window()) {
@ -143,9 +144,8 @@ void CachingImageManager::updateSource(const QString& path) {
return; return;
} }
bool cacheExists = QFile::exists(cache.toLocalFile()); QImageReader reader(cache.toLocalFile());
if (reader.canRead()) {
if (cacheExists) {
self->m_item->setProperty("source", cache); self->m_item->setProperty("source", cache);
} else { } else {
self->m_item->setProperty("source", QUrl::fromLocalFile(path)); self->m_item->setProperty("source", QUrl::fromLocalFile(path));

View file

@ -1,6 +1,6 @@
#include "cutils.hpp" #include "cutils.hpp"
#include <qobject.h> #include <QObject>
#include <QtQuick/QQuickWindow> #include <QtQuick/QQuickWindow>
#include <QtQuick/QQuickItem> #include <QtQuick/QQuickItem>
#include <QtQuick/QQuickItemGrabResult> #include <QtQuick/QQuickItemGrabResult>