diff options
Diffstat (limited to 'src/live_effects')
| -rw-r--r-- | src/live_effects/lpegroupbbox.cpp | 4 | ||||
| -rw-r--r-- | src/live_effects/parameter/path.cpp | 8 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/live_effects/lpegroupbbox.cpp b/src/live_effects/lpegroupbbox.cpp index 6df6278b1..a87baf4b4 100644 --- a/src/live_effects/lpegroupbbox.cpp +++ b/src/live_effects/lpegroupbbox.cpp @@ -46,7 +46,9 @@ GroupBBoxEffect::clip_mask_bbox(SPLPEItem *item, Geom::Affine transform) std::vector<SPItem*> item_list = sp_item_group_item_list(group); for ( std::vector<SPItem*>::const_iterator iter=item_list.begin();iter!=item_list.end();++iter) { SPLPEItem * subitem = dynamic_cast<SPLPEItem *>(*iter); - bbox.unionWith(clip_mask_bbox(subitem, affine)); + if (subitem) { + bbox.unionWith(clip_mask_bbox(subitem, affine)); + } } } return bbox; diff --git a/src/live_effects/parameter/path.cpp b/src/live_effects/parameter/path.cpp index af553a029..ce06627c9 100644 --- a/src/live_effects/parameter/path.cpp +++ b/src/live_effects/parameter/path.cpp @@ -99,6 +99,14 @@ PathParam::~PathParam() // } // } // } + SPDesktop *desktop = SP_ACTIVE_DESKTOP; + if (desktop) { + // TODO remove the tools_switch atrocity. + if (tools_isactive(desktop, TOOLS_NODES)) { + tools_switch(desktop, TOOLS_SELECT); + tools_switch(desktop, TOOLS_NODES); + } + } g_free(defvalue); } |
