summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/sp-item.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index 511daa5f1..df0394e38 100644
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
@@ -562,9 +562,11 @@ void SPItem::sp_item_update(SPObject *object, SPCtx *ctx, guint flags)
(* ((SPObjectClass *) (SPItemClass::static_parent_class))->update)(object, ctx, flags);
}
- if (flags & (SP_OBJECT_CHILD_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG)) {
- item->bbox_valid = FALSE;
+ // any of the modifications defined in sp-object.h might change bbox,
+ // so we invalidate it unconditionally
+ item->bbox_valid = FALSE;
+ if (flags & (SP_OBJECT_CHILD_MODIFIED_FLAG | SP_OBJECT_MODIFIED_FLAG | SP_OBJECT_STYLE_MODIFIED_FLAG)) {
if (flags & SP_OBJECT_MODIFIED_FLAG) {
for (SPItemView *v = item->display; v != NULL; v = v->next) {
v->arenaitem->setTransform(item->transform);