From e5722af7dba7f99bd016416ca42226da527289fb Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 30 Aug 2025 22:37:25 +1000 Subject: plugin/cim: fix null images --- plugin/src/Caelestia/cachingimagemanager.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'plugin') diff --git a/plugin/src/Caelestia/cachingimagemanager.cpp b/plugin/src/Caelestia/cachingimagemanager.cpp index 320b195..8bd740c 100644 --- a/plugin/src/Caelestia/cachingimagemanager.cpp +++ b/plugin/src/Caelestia/cachingimagemanager.cpp @@ -10,7 +10,7 @@ #include qreal CachingImageManager::effectiveScale() const { - if (m_item->window()) { + if (m_item && m_item->window()) { return m_item->window()->devicePixelRatio(); } @@ -18,12 +18,20 @@ qreal CachingImageManager::effectiveScale() const { } int CachingImageManager::effectiveWidth() const { + if (!m_item) { + return 0; + } + int width = std::ceil(m_item->width() * effectiveScale()); m_item->setProperty("sourceWidth", width); return width; } int CachingImageManager::effectiveHeight() const { + if (!m_item) { + return 0; + } + int height = std::ceil(m_item->height() * effectiveScale()); m_item->setProperty("sourceHeight", height); return height; @@ -111,6 +119,11 @@ void CachingImageManager::updateSource(const QString& path) { int width = effectiveWidth(); int height = effectiveHeight(); + + if (!m_item || !width || !height) { + return; + } + const QString fillMode = m_item->property("fillMode").toString(); const QString filename = QString("%1@%2x%3-%4.png") .arg(sha).arg(width).arg(height) -- cgit v1.2.3-freya