diff options
| author | Jabiertxof <jabier.arraiza@marker.es> | 2018-11-16 18:24:17 +0000 |
|---|---|---|
| committer | Jabiertxof <jabier.arraiza@marker.es> | 2018-11-16 18:24:17 +0000 |
| commit | e1eae41f45f3a3e38c3186daca6c6f4e4eb20ca2 (patch) | |
| tree | b19f751fcbc6ba657fafa796b2190132cdcbe58a | |
| parent | Fix format string (diff) | |
| download | inkscape-e1eae41f45f3a3e38c3186daca6c6f4e4eb20ca2.tar.gz inkscape-e1eae41f45f3a3e38c3186daca6c6f4e4eb20ca2.zip | |
Fix area on filtered elements, also force cache it for fast view
| -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(); |
