summaryrefslogtreecommitdiffstats
path: root/src/display
diff options
context:
space:
mode:
Diffstat (limited to 'src/display')
-rw-r--r--src/display/drawing-item.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/display/drawing-item.cpp b/src/display/drawing-item.cpp
index dd3d962bb..2a62c4b47 100644
--- a/src/display/drawing-item.cpp
+++ b/src/display/drawing-item.cpp
@@ -725,13 +725,15 @@ DrawingItem::render(DrawingContext &dc, Geom::IntRect const &area, unsigned flag
// carea is the area to paint
Geom::OptIntRect carea = Geom::intersect(area, _drawbox);
- if (!carea) return RENDER_OK;
-
+
// expand render on filtered items
Geom::OptIntRect cl = _cacheRect();
- if (_filter && render_filters) {
+ if (_filter != nullptr && render_filters && cl) {
+ setCached(true, true);
carea = cl;
}
+
+ if (!carea) return RENDER_OK;
// Device scale for HiDPI screens (typically 1 or 2)
int device_scale = dc.surface()->device_scale();