diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/display/nr-filter.cpp | 6 | ||||
| -rw-r--r-- | src/sp-item.cpp | 5 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/display/nr-filter.cpp b/src/display/nr-filter.cpp index eeba94d7c..f0965c460 100644 --- a/src/display/nr-filter.cpp +++ b/src/display/nr-filter.cpp @@ -114,7 +114,8 @@ int Filter::render(Inkscape::DrawingItem const *item, DrawingContext &graphic, D Geom::Affine trans = item->ctm(); - Geom::OptRect filter_area = filter_effect_area(item->itemBounds()); +// Geom::OptRect filter_area = filter_effect_area(item->itemBounds()); // disabled, already done in visualBounds + Geom::OptRect filter_area = item->itemBounds(); // see LP Bug 1188336 if (!filter_area) return 1; FilterUnits units(_filter_units, _primitive_units); @@ -221,7 +222,8 @@ void Filter::area_enlarge(Geom::IntRect &bbox, Inkscape::DrawingItem const *item Geom::OptIntRect Filter::compute_drawbox(Inkscape::DrawingItem const *item, Geom::OptRect const &item_bbox) { - Geom::OptRect enlarged = filter_effect_area(item_bbox); +// Geom::OptRect enlarged = filter_effect_area(item_bbox); // disabled, already done in visualBounds + Geom::OptRect enlarged = item_bbox; // see LP Bug 1188336 if (enlarged) { *enlarged *= item->ctm(); diff --git a/src/sp-item.cpp b/src/sp-item.cpp index 19d71ed44..a4070c9b3 100644 --- a/src/sp-item.cpp +++ b/src/sp-item.cpp @@ -646,7 +646,7 @@ sp_item_update(SPObject *object, SPCtx *ctx, guint flags) /* Update bounding box data used by filters */ if (item->style->filter.set && item->display) { - Geom::OptRect item_bbox = item->geometricBounds(); + Geom::OptRect item_bbox = item->visualBounds(); SPItemView *itemview = item->display; do { @@ -1089,6 +1089,9 @@ Inkscape::DrawingItem *SPItem::invoke_show(Inkscape::Drawing &drawing, unsigned sp_mask_set_bbox(SP_MASK(mask), mask_key, item_bbox); mask->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG); } + if (style->filter.set && display) { + item_bbox = visualBounds(); + } ai->setData(this); ai->setItemBounds(item_bbox); } |
