summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbulia byak <buliabyak@gmail.com>2008-08-05 18:40:15 +0000
committerbuliabyak <buliabyak@users.sourceforge.net>2008-08-05 18:40:15 +0000
commitb663f1ba6f5a88b116fa5545783ff57f07b17d45 (patch)
treee04e062e55ccbdb9efd9e345f8ec0b2f5993a606 /src
parentreplace unnecessary exception catching with a check beforehand. (diff)
downloadinkscape-b663f1ba6f5a88b116fa5545783ff57f07b17d45.tar.gz
inkscape-b663f1ba6f5a88b116fa5545783ff57f07b17d45.zip
fix 252547: skip explicitly hidden objects when calculating bbox of group
(bzr r6566)
Diffstat (limited to 'src')
-rw-r--r--src/display/nr-arena-group.cpp3
-rw-r--r--src/sp-item-group.cpp2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/display/nr-arena-group.cpp b/src/display/nr-arena-group.cpp
index 51f1c6b2f..716a9f9fd 100644
--- a/src/display/nr-arena-group.cpp
+++ b/src/display/nr-arena-group.cpp
@@ -181,7 +181,8 @@ nr_arena_group_update (NRArenaItem *item, NRRectL *area, NRGC *gc, unsigned int
if (beststate & NR_ARENA_ITEM_STATE_BBOX) {
nr_rect_l_set_empty (&item->bbox);
for (NRArenaItem *child = group->children; child != NULL; child = child->next) {
- nr_rect_l_union (&item->bbox, &item->bbox, &child->bbox);
+ if (child->visible)
+ nr_rect_l_union (&item->bbox, &item->bbox, &child->bbox);
}
}
diff --git a/src/sp-item-group.cpp b/src/sp-item-group.cpp
index 9e6333f97..80089df35 100644
--- a/src/sp-item-group.cpp
+++ b/src/sp-item-group.cpp
@@ -701,7 +701,7 @@ void CGroup::calculateBBox(NRRect *bbox, NR::Matrix const &transform, unsigned c
GSList *l = _group->childList(false, SPObject::ActionBBox);
while (l) {
SPObject *o = SP_OBJECT (l->data);
- if (SP_IS_ITEM(o)) {
+ if (SP_IS_ITEM(o) && !SP_ITEM(o)->isHidden()) {
SPItem *child = SP_ITEM(o);
NR::Matrix const ct(child->transform * transform);
sp_item_invoke_bbox_full(child, &dummy_bbox, ct, flags, FALSE);