From 6ea480ced147f2c8ce55aa7f729fe8ad49f78118 Mon Sep 17 00:00:00 2001 From: Thomas Holder Date: Fri, 12 Oct 2018 08:22:54 +0000 Subject: fix masked object's selection bbox --- src/object/sp-item.cpp | 4 ++++ src/object/sp-mask.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/object') diff --git a/src/object/sp-item.cpp b/src/object/sp-item.cpp index 4c0538928..e384c7dc6 100644 --- a/src/object/sp-item.cpp +++ b/src/object/sp-item.cpp @@ -861,6 +861,10 @@ Geom::OptRect SPItem::visualBounds(Geom::Affine const &transform) const ownerItem->bbox_valid = FALSE; // LP Bug 1349018 bbox.intersectWith(clip_ref->getObject()->geometricBounds(transform)); } + if (mask_ref->getObject()) { + bbox_valid = false; // LP Bug 1349018 + bbox.intersectWith(mask_ref->getObject()->visualBounds(transform)); + } return bbox; } diff --git a/src/object/sp-mask.cpp b/src/object/sp-mask.cpp index 217e8383c..08f315cc2 100644 --- a/src/object/sp-mask.cpp +++ b/src/object/sp-mask.cpp @@ -126,7 +126,7 @@ SPMask::visualBounds(Geom::Affine const &transform) { Geom::OptRect bbox; for (auto& i: children) { if (SP_IS_ITEM(&i)) { - Geom::OptRect tmp = SP_ITEM(&i)->visualBounds(transform); + Geom::OptRect tmp = SP_ITEM(&i)->visualBounds(SP_ITEM(&i)->transform * transform); bbox.unionWith(tmp); } } -- cgit v1.2.3