diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 469b95222cba39a74e921de55a31113367bae5a6..338a70c4ed4b838866151848821a4ce8b81ced9e 100644 (file)
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
}
}
+ if (item->display && item->display->arenaitem) {
+ NRRect item_bbox;
+ sp_item_invoke_bbox(item, &item_bbox, NR::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
+ NR::Maybe<NR::Rect> i_bbox = item_bbox;
+ nr_arena_item_set_item_bbox(item->display->arenaitem, i_bbox);
+ }
+
// Update libavoid with item geometry (for connector routing).
item->avoidRef->handleSettingChange();
}
if (item_class.snappoints) {
item_class.snappoints(item, p);
}
-
- *p = item->getCenter();
}
void
@@ -919,6 +924,10 @@ sp_item_invoke_show(SPItem *item, NRArena *arena, unsigned key, unsigned flags)
SP_OBJECT(mask)->requestDisplayUpdate(SP_OBJECT_MODIFIED_FLAG);
}
NR_ARENA_ITEM_SET_DATA(ai, item);
+ NRRect item_bbox;
+ sp_item_invoke_bbox(item, &item_bbox, NR::identity(), TRUE, SPItem::GEOMETRIC_BBOX);
+ NR::Maybe<NR::Rect> i_bbox = item_bbox;
+ nr_arena_item_set_item_bbox(ai, i_bbox);
}
return ai;