From e1eae41f45f3a3e38c3186daca6c6f4e4eb20ca2 Mon Sep 17 00:00:00 2001 From: Jabiertxof Date: Fri, 16 Nov 2018 19:24:17 +0100 Subject: Fix area on filtered elements, also force cache it for fast view --- src/display/drawing-item.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/display/drawing-item.cpp') 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(); -- cgit v1.2.3