diff options
Diffstat (limited to 'src/display')
| -rw-r--r-- | src/display/drawing-item.cpp | 8 |
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(); |
