diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-30 22:37:25 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-08-30 22:37:25 +1000 |
| commit | e5722af7dba7f99bd016416ca42226da527289fb (patch) | |
| tree | cd40c714adb264a35e4ccb6629cbf6b560536025 /plugin/src/Caelestia/cachingimagemanager.cpp | |
| parent | wallpapers: use CAELESTIA_WALLPAPERS_DIR env (diff) | |
| download | caelestia-shell-e5722af7dba7f99bd016416ca42226da527289fb.tar.gz caelestia-shell-e5722af7dba7f99bd016416ca42226da527289fb.tar.bz2 caelestia-shell-e5722af7dba7f99bd016416ca42226da527289fb.zip | |
plugin/cim: fix null images
Diffstat (limited to 'plugin/src/Caelestia/cachingimagemanager.cpp')
| -rw-r--r-- | plugin/src/Caelestia/cachingimagemanager.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
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 <QPainter> 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) |