From 247ad803a33071df9fdc0ec467d340996172e019 Mon Sep 17 00:00:00 2001 From: deepin-ci-robot Date: Fri, 23 May 2025 04:36:34 +0000 Subject: [PATCH] sync: from linuxdeepin/qt5integration Synchronize source files from linuxdeepin/qt5integration. Source-pull-request: https://github.com/linuxdeepin/qt5integration/pull/268 --- iconengineplugins/svgiconengine/qsvgiconengine.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/iconengineplugins/svgiconengine/qsvgiconengine.cpp b/iconengineplugins/svgiconengine/qsvgiconengine.cpp index f908add..a516840 100644 --- a/iconengineplugins/svgiconengine/qsvgiconengine.cpp +++ b/iconengineplugins/svgiconengine/qsvgiconengine.cpp @@ -175,7 +175,9 @@ QPixmap QSvgIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QString cacheFile; - if (Q_LIKELY(!svgFile.startsWith(":/") && QFile::exists(svgFile))) { + const QFileInfo svgFileInfo(svgFile); + // ostree管理的源文件 lastModified 被重置为1970-01-01,qt认为是无效时间,无法设置到缓存文件中 + if (Q_LIKELY(!svgFile.startsWith(":/") && svgFileInfo.exists() && svgFileInfo.lastModified().isValid())) { static const QString &cachePath = getIconCachePath(); if (Q_LIKELY(!cachePath.isEmpty())) { @@ -192,8 +194,6 @@ QPixmap QSvgIconEngine::pixmap(const QSize &size, QIcon::Mode mode, const QFileInfo cacheFileInfo(cacheFile); if (Q_LIKELY(cacheFileInfo.exists())) { - const QFileInfo svgFileInfo(svgFile); - if (Q_UNLIKELY(svgFileInfo.lastModified() != cacheFileInfo.lastModified())) { // clear invalid cache file QFile::remove(cacheFile);