From f3e0966f95dc4284b1fd191fb4c187c92c24aeed Mon Sep 17 00:00:00 2001 From: "Liam P. White" Date: Tue, 1 Apr 2014 20:40:15 -0400 Subject: Fix some stuff (bzr r13090.1.41) --- src/sp-lpe-item.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/sp-lpe-item.cpp') diff --git a/src/sp-lpe-item.cpp b/src/sp-lpe-item.cpp index 6324af147..71aa9545a 100644 --- a/src/sp-lpe-item.cpp +++ b/src/sp-lpe-item.cpp @@ -16,6 +16,9 @@ # include "config.h" #endif +//the gtk devs are really not smart about backwards compatibility +#include "ui/tool/multi-path-manipulator.h" + #include #include "live_effects/effect.h" @@ -39,7 +42,6 @@ #include "tools-switch.h" #include "ui/tools/node-tool.h" #include "ui/tools/tool-base.h" -#include "ui/tool/multi-path-manipulator.h" #include @@ -254,6 +256,9 @@ bool SPLPEItem::performPathEffect(SPCurve *curve) { } return false; } + if (!SP_IS_GROUP(this)) { + lpe->doAfterEffect(this); + } } } } @@ -447,11 +452,15 @@ void SPLPEItem::removeCurrentPathEffect(bool keep_paths) Inkscape::LivePathEffect::LPEObjectReference* lperef = this->getCurrentLPEReference(); if (!lperef) return; - + + Inkscape::LivePathEffect::Effect * lpe = this->getCurrentLPE(); + lpe->doOnRemove(this); + PathEffectList new_list = *this->path_effect_list; new_list.remove(lperef); //current lpe ref is always our 'own' pointer from the path_effect_list std::string r = patheffectlist_write_svg(new_list); + if (!r.empty()) { this->getRepr()->setAttribute("inkscape:path-effect", r.c_str()); } else { -- cgit v1.2.3