diff options
Diffstat (limited to 'src/display/drawing-item.cpp')
| -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 80664d822..a9836a9e3 100644 --- a/src/display/drawing-item.cpp +++ b/src/display/drawing-item.cpp @@ -284,7 +284,7 @@ DrawingItem::setZOrder(unsigned z) void DrawingItem::setItemBounds(Geom::OptRect const &bounds) { - _item_bbox = bounds; + if (bounds) _filter_bbox = bounds; } /** @@ -352,8 +352,10 @@ DrawingItem::update(Geom::IntRect const &area, UpdateContext const &ctx, unsigne if (to_update & STATE_BBOX) { // compute drawbox - if (_filter && render_filters) { - _drawbox = _filter->compute_drawbox(this, _item_bbox); + if (_filter && render_filters && _bbox) { + Geom::IntRect newbox(*_bbox); + _filter->area_enlarge(newbox, this); + _drawbox = Geom::OptIntRect(newbox); } else { _drawbox = _bbox; } |
