diff options
| author | Johan B. C. Engelen <jbc.engelen@swissonline.ch> | 2008-03-28 19:48:22 +0000 |
|---|---|---|
| committer | johanengelen <johanengelen@users.sourceforge.net> | 2008-03-28 19:48:22 +0000 |
| commit | 3e43c57c9571cfd07cfc582f4129fbec99e15c12 (patch) | |
| tree | cb93ad69e04880f04e42ece73e2690f5aff2b361 /src/live_effects/parameter/path.cpp | |
| parent | and two more files that were missed in lpe-group commit (diff) | |
| download | inkscape-3e43c57c9571cfd07cfc582f4129fbec99e15c12.tar.gz inkscape-3e43c57c9571cfd07cfc582f4129fbec99e15c12.zip | |
fix lpe-PathPAram when deleting the path that it links to
fix ClipboardManager to construct the svgd from pathvector instead of obtaining the string from PathParam which can be a href instead of svgd
(bzr r5222)
Diffstat (limited to 'src/live_effects/parameter/path.cpp')
| -rw-r--r-- | src/live_effects/parameter/path.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/live_effects/parameter/path.cpp b/src/live_effects/parameter/path.cpp index be26006c7..d7237e54b 100644 --- a/src/live_effects/parameter/path.cpp +++ b/src/live_effects/parameter/path.cpp @@ -205,6 +205,7 @@ PathParam::param_editOncanvas(SPItem * item, SPDesktop * dt) shape_editor->set_item_lpe_path_parameter(item, SP_OBJECT(param_effect->getLPEObj()), param_key.c_str()); } else { // set referred item for editing + shape_editor->set_item(ref.getObject()); } } @@ -242,6 +243,18 @@ PathParam::param_set_and_write_new_value (Geom::Piecewise<Geom::D2<Geom::SBasis> } void +PathParam::param_set_and_write_new_value (std::vector<Geom::Path> const & newpath) +{ + remove_link(); + _pathvector = newpath; + must_recalculate_pwd2 = true; + + gchar * svgd = SVGD_from_2GeomPath( _pathvector ); + param_write_to_repr(svgd); + g_free(svgd); +} + +void PathParam::ensure_pwd2() { if (must_recalculate_pwd2) { @@ -294,8 +307,9 @@ PathParam::remove_link() void PathParam::linked_delete(SPObject */*deleted*/) { -// don't know what to do yet. not acting probably crashes inkscape. - g_message("PathParam::linked_delete"); + quit_listening(); + remove_link(); + param_set_and_write_new_value (_pathvector); } void |
