Code

Removed some unnecessarry bounding box updates in sp-item.cpp
authorkiirala <kiirala@users.sourceforge.net>
Mon, 8 Oct 2007 20:41:23 +0000 (20:41 +0000)
committerkiirala <kiirala@users.sourceforge.net>
Mon, 8 Oct 2007 20:41:23 +0000 (20:41 +0000)
src/sp-item.cpp

index 8f91c97e650c80db84fb57a0aadc9ae23f312741..e52042e35a0b0f16a81f7831ffa7e25758767b12 100644 (file)
@@ -623,11 +623,17 @@ sp_item_update(SPObject *object, SPCtx *ctx, guint flags)
         }
     }
 
-    if (item->display && item->display->arenaitem) {
+    /* Update bounding box data used by filters */
+    if (item->style->filter.set && item->display) {
         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);
+        
+        SPItemView *itemview = item->display;
+        do {
+            if (itemview->arenaitem)
+                nr_arena_item_set_item_bbox(itemview->arenaitem, i_bbox);
+        } while ( (itemview = itemview->next) );
     }
 
     // Update libavoid with item geometry (for connector routing).