diff options
Diffstat (limited to 'src/display/drawing-item.cpp')
| -rw-r--r-- | src/display/drawing-item.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/display/drawing-item.cpp b/src/display/drawing-item.cpp index 097a5fe76..a9836a9e3 100644 --- a/src/display/drawing-item.cpp +++ b/src/display/drawing-item.cpp @@ -281,6 +281,12 @@ DrawingItem::setZOrder(unsigned z) _markForRendering(); } +void +DrawingItem::setItemBounds(Geom::OptRect const &bounds) +{ + if (bounds) _filter_bbox = bounds; +} + /** * Update derived data before operations. * The purpose of this call is to recompute internal data which depends @@ -346,7 +352,7 @@ DrawingItem::update(Geom::IntRect const &area, UpdateContext const &ctx, unsigne if (to_update & STATE_BBOX) { // compute drawbox - if (_filter && render_filters) { + if (_filter && render_filters && _bbox) { Geom::IntRect newbox(*_bbox); _filter->area_enlarge(newbox, this); _drawbox = Geom::OptIntRect(newbox); |
