Clone original LPE can no longer be used to fill a powerstroke path

Bug #1715433 reported by Hachmann
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Undecided
Jabiertxof

Bug Description

In Inkscape 0.92.1, the 'Clone original' LPE does not clone the resulting path, but the original path data from a path with an LPE, allowing you to have a fill in a path with a powerstroke LPE applied to it.

Inkscape 0.92.2 works differently, it clones the *result* from the LPE.

This makes it impossible to fill a powerstroke shape.

I thought that was the purpose of the Clone Original LPE functionality.

Is this a bug, or the result of a fix?

See also:
https://bugs.launchpad.net/inkscape/+bug/1670644
for someone who understood it the other way around.

Revision history for this message
Hachmann (marenhachmann) wrote :
Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi, can you confirm the bug is on devel not in 0.92.2? I do this changes and go to fix but need to know, I dont have instaled here 0.92.2.

Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
Revision history for this message
Hachmann (marenhachmann) wrote :

@Jabier:

I've been using 0.92.2, where the 'ear' is not filled, instead there's only a pink copy of the ear's powerstroke contour below the black one. I compiled it from Bryce's source package.

(I'm preparing a workshop, and hitting lots of bugs at the moment :-/, most with texts misbehaving, though.)

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Here are a patch for the bug applyable to 0.92.x branch. Im compiling the master one now, post here soon.
Notice it works only well on bezier paths, not in bspline or spiro ones. Like in 0.91 or 0.92.1 I think.
Please confirm to backport.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Finaly not time to compile master here, but hope the patch work the same way.
Here are for current trunk.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Improved patch for 0.92.x

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi, Here is a attached patch for 0.92.x backport.
I finaly include the posibility to use BSPline and Spiro, as the usual ones requested with Powerstroke. There is now know for me enought fast to fix only for "PowerStroke"
I think tonigh i do a push of the code to master.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Pushed on trunk on r.1f0a20e9f4
Consider backport with the patch provided

Changed in inkscape:
status: New → Fix Committed
Revision history for this message
Hachmann (marenhachmann) wrote :

Thank you, Jabier, and sorry for not testing - I'd have liked to, but didn't have the time for compiling yet.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

You are welcome!!! dont worry!

Revision history for this message
Jabiertxof (jabiertxof) wrote :

More fixes, now handle correctly the clone->LPE and the Clone fill with powerstroke, bspline, spiro and pattern along path.
I need to add one parameter more necesary in the LPE because we need 2 diferents behabiours with the same LPE. One needs translation of the clone and the other need be atached to the original.

Revision history for this message
Hachmann (marenhachmann) wrote :

@Jabier:
I've just tried it out in the master branch, but I can't find that it's fixed - or perhaps I don't understand how to use it.

I tried with cloning shape-d set and unset, as I thought that would be the relevant parameter. It still doesn't work as it did previously.

What I expected was that it uses the original path data of the path that has a powerstroke applied, and provides a fill for the powerstroked shape.
What I get is a clone of the powerstroke, in a color of my choice (clone shape-d set), or no change at all (clone shape-d unset).

And something weird happens:
When I paste something from the clipboard into the document (a screenshot, in this case), the fill and stroke of the path with the clone original LPE applied to it are set to the fill+stroke of the powerstroke path that it's supposed to clone.

Revision history for this message
Hachmann (marenhachmann) wrote :

(or perhaps it's not in trunk yet?)

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi @Maren. The patch is applyed to trunk but in Fill Between Many LPE, the one used by the clone LPE menu link and the clone add LPE + button. This work as espected now.

Anyway I try to do another fix for Clone LPE if you consider is necesary because the wanted behabiour is substituted by Fill Between Many.

All the best, Jabier.

Revision history for this message
Hachmann (marenhachmann) wrote :

It's breaking existing drawings, I think (at least it broke a workshop file for me, don't know if others used the LPE for their comics).

However, for me it's okay to just *know*, I can easily switch, if that's how it's supposed to work now. I only teach people how to use it, I don't draw a lot myself.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Working on fixing it also in the same way of fill between many, Also i try to substitute fill between many from the clone menu and in the clomne LPE add by the clone LPE, Seems more logic.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi Maren in r.a474159bf7 both LPE are fixed. Also works on legacy files. Thanks for report.

Revision history for this message
Hachmann (marenhachmann) wrote :

Thank you very much, Jabier! :-D

Revision history for this message
Hachmann (marenhachmann) wrote :

Jabier, does this work now for the 0.92.x branch? I've installed from stable-daily ppa, but couldn't make it work with neither:

- Clone original
- Fill between many
- Fill between strokes

Maybe I need some instructions. This is what I expect to get:
http://vektorrascheln.de/photos/inkscape_entdecker_pfade3/fuellung_fuer_powerstroke-o.jpg
http://wiki.inkscape.org/wiki/index.php/File:LPEFillBetweenMany.png
http://wiki.inkscape.org/wiki/index.php/File:LPEFillBetweenStrokes.png

Still compiling master.

Revision history for this message
Hachmann (marenhachmann) wrote :

Crashes when I try on master ... :-/

(using clone original, like this:

1. create open path, shaped like a u
2. add power stroke to it, made it look nice a bit
3. copy to clipboard
4. add 2 point path in its middle
5. click on 'Clone original' LPE in the list
-> CRASH

** (inkscape:16332): CRITICAL **: bool Inkscape::ObjectSet::includes(SPObject*): assertion 'object != NULL' failed

(inkscape:16332): glibmm-ERROR **:
unhandled exception (type std::exception) in signal handler:
what: basic_string::_M_construct null not valid

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi Maren. Fixed #20 in the commit "3e9296b964" from today.
About 0.92.x I need to test the patch I put previously, not sure if is posible a refactor like the one done in trunk can be done for 0.92.x. ¿Anyone could give me green card to backport it?

Revision history for this message
Jabiertxof (jabiertxof) wrote :

aclaration: can be done, but maybe is too big change to land in 0.92.x

Revision history for this message
Hachmann (marenhachmann) wrote :

Very cool (in devel)! So many new use cases! Tested backwards compatibility with my old file - works :)

There is one usability issue I stumbled over:

In contrast to normal number fields, in the text fields, it is not sufficient to just type the value, then leave the field by clicking somewhere else. In that case your entry will be lost.

It is currently necessary to hit 'Enter' after adding one or more attributes into one of the attribute fields.
Could there either be a 'set' button that makes that clear, or an automatical accepting of the entry when the field is left with mouse?

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Fixed in 0.92.x in r.23899f58bf

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Thanks Maren for the feedback, currerently adding "Set" button to text LPE parameters

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Maren Added button to apply in text parameters in r.6d91668aef

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Also in next revision fc21cbb9a2 handle well transforms in this LPE

Revision history for this message
Hachmann (marenhachmann) wrote :

Didn't notice there was an issue with transforms yet ;-) - thanks for all that polishing, Jabier!

Revision history for this message
Jabiertxof (jabiertxof) wrote :

You are welcome!

Revision history for this message
Qantas94Heavy (qantas94heavy) wrote :
Changed in inkscape:
milestone: none → 0.92.3
status: Fix Committed → Fix Released
tbnorth (terry-n-brown)
tags: added: bug-migration
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.