summaryrefslogtreecommitdiffstats
path: root/src/ui/tools
diff options
context:
space:
mode:
authorjabiertxof <jabiertxof@debian.marker.es>2015-04-29 14:31:50 +0000
committerjabiertxof <jabiertxof@debian.marker.es>2015-04-29 14:31:50 +0000
commit9b709f551c3d889cf4235913c317f1b10ee9e72e (patch)
treeb1f25d19109a3c483d045d307b580bc20f4937a4 /src/ui/tools
parentupdate to trunk (diff)
downloadinkscape-9b709f551c3d889cf4235913c317f1b10ee9e72e.tar.gz
inkscape-9b709f551c3d889cf4235913c317f1b10ee9e72e.zip
Fis fix a bug finded in my presentation in the HackFest
(bzr r12588.1.43)
Diffstat (limited to 'src/ui/tools')
-rw-r--r--src/ui/tools/freehand-base.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/ui/tools/freehand-base.cpp b/src/ui/tools/freehand-base.cpp
index 9aa6c9589..a13fc0d8b 100644
--- a/src/ui/tools/freehand-base.cpp
+++ b/src/ui/tools/freehand-base.cpp
@@ -384,8 +384,10 @@ static void spdc_check_for_and_apply_waiting_LPE(FreehandBase *dc, SPItem *item,
{
Inkscape::UI::ClipboardManager *cm = Inkscape::UI::ClipboardManager::get();
if(cm->paste(SP_ACTIVE_DESKTOP,true) == true){
- item->transform = SP_ITEM(SP_ACTIVE_DESKTOP->currentLayer())->i2doc_affine().inverse();
gchar const *svgd = item->getRepr()->attribute("d");
+ Geom::PathVector path = sp_svg_read_pathv(svgd);
+ path *= item->i2doc_affine().inverse();
+ svgd = sp_svg_write_path( path );
bend_item = dc->selection->singleItem();
bend_item->moveTo(item,false);
spdc_apply_bend_shape(svgd, dc, bend_item);
@@ -410,8 +412,10 @@ static void spdc_check_for_and_apply_waiting_LPE(FreehandBase *dc, SPItem *item,
shape = CLIPBOARD;
} else {
if(bend_item != NULL && bend_item->getRepr() != NULL){
- item->transform = SP_ITEM(SP_ACTIVE_DESKTOP->currentLayer())->i2doc_affine().inverse();
gchar const *svgd = item->getRepr()->attribute("d");
+ Geom::PathVector path = sp_svg_read_pathv(svgd);
+ path *= item->i2doc_affine().inverse();
+ svgd = sp_svg_write_path( path );
dc->selection->add(SP_OBJECT(bend_item));
sp_selection_duplicate(dc->desktop);
dc->selection->remove(SP_OBJECT(bend_item));