summaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/src/Caelestia/cachingimagemanager.cpp15
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)