lpe-knot for groups

Bug #365903 reported by jfb
2
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Johan Engelen

Bug Description

Hi,

lpe-knot for groups does not work correctly: it seems to but does not.

Apply the knot lpe to a group of two paths, flip one crosssing: every thing is fine up to there.
Node-edit one of the paths: the flipped crossing is immediatly reverted to it's default.

This is not lpe-knot specific: it is due to the "array" lpe parameters not always being correctly initialized in the case of groups.

I had a look at it, but could not find where the problem was :-(
I submit here because it's a bad bug from the user point of view (it kills your work!) so we should not forget to do something about it before the release (in the worst case, just disable knot for groups).

jfb.

tags: added: livepatheffects
Revision history for this message
ScislaC (scislac) wrote :

jfb,

I cannot reproduce w/ r22401. The crossing does not revert for me. Would you please test again?

Revision history for this message
ScislaC (scislac) wrote :

Interesting... I couldn't reproduce that exact issue how you explained, but triggered it in a different way... hitting Undo after changing the direction. The interesting part is that it is you can't undo because it seems to immediately Redo the event.

A different thing I noticed, after modifying one of the paths in the group, I could no longer get the "flipping handle" to show up again.

Revision history for this message
jfb (jf-barraud) wrote : Re: [Bug 365903] Re: lpe-knot for groups

Hi,
Hm... Yes, it seems this was fixed!! :-)

I confirm your observation however: it's not possible to undo a crossing
flip when dealing with a group (possible if the ground object is not a
group).
In my case (ubuntu, inkscape svn 22409) the "flipping handle" never shows up
when the ground object is a group (and never did in such a case afaict).

Moreover, the knot lpe undergoes the same bug as all other lpes do when
dealing with groups: node editing applies to the *result* of the lpe, not to
the input, which somehow destroys the lpe stack. See bug: 391368
https://bugs.launchpad.net/inkscape/+bug/391368

Revision history for this message
ScislaC (scislac) wrote :

Patch by Johan for knot. It is so close, but still has issues with Undo after you change a crossing on a group with knot applied.
The console message is "WARNING **: Incomplete undo transaction:" and there is a little more info (very easy to reproduce).

1) Open inkscape from the command line
2) Create and Group 2 paths
3) Apply knot to the group
4) Change the direction of a crossing
5) Hit Undo, and look at the console

Changed in inkscape:
status: New → Confirmed
importance: Undecided → Low
assignee: nobody → Johan Engelen (johanengelen)
Revision history for this message
ScislaC (scislac) wrote :

Bumping up in priorty, if you get the Undo History dialog involved it will crash.

Changed in inkscape:
importance: Low → High
Revision history for this message
Johan Engelen (johanengelen) wrote :

okay okay...
fixed...
please test

Revision history for this message
Johan Engelen (johanengelen) wrote :

sorry, i named both patches the same.
now a recognizable name "fix_knot 2.patch"

Revision history for this message
ScislaC (scislac) wrote :

It's still not consistent with undoing for me (but better), it still reports incomplete undo events via console, and I can still crash it via the Undo History dialog.

1) Set up a group and apply knot
2) With the Undo History dialog open, flip a crossing on the knot
3) In the Undo History dialog, click up one entry to "Create and apply path effect"
4) In the Undo History dialog, click back down one entry to "Change knot crossing" and it should crash

Attaching console messages and backtrace. I am unsure if the crash is directly Undo History Dialog related, or if it is because of the incomplete undo events that it has that reaction.

Revision history for this message
Johan Engelen (johanengelen) wrote :

It seems undoing lpe param changes on group lpes does not work. I tried with lpe-bend for example, and it crashes.

So please apply the patch to lpe knot. Fixing this undo thing is not related to lpe-knot specifically unfortunately :-(

Revision history for this message
su_v (suv-lp) wrote :

tested with Inkscape 0.46+devel r22435 on OS X 10.5.8: as mentioned in in bug #391368 (comment 9) the patch committed in rev. 22418 breaks the Knot LPE for groups:

besides repeated error messages:
** (inkscape-bin:10047): WARNING **: Exception during LPE Knot execution.
 lib2geom exception: lpe-knot error: group member not recognized (live_effects/lpe-knot.cpp:385)

for a group of two paths with Knot LPE the visual application of the path effect on group changes with every select/unselect cycle:
select the group: on, select the group again: off. Sometimes not all intersections are rendered as knots (after re-opening the file).
The current visual state of the path effect is also used for exports (quick test with print preview).

notes:
- first reproduced with r22418, compared to 0.47pre3 and a reverted r22413 build - which render the lpe correctly.
- I am confused - where to add this comment: bug #365903 or bug #391368?

ScislaC (scislac)
Changed in inkscape:
status: Confirmed → Fix Released
Revision history for this message
su_v (suv-lp) wrote :

I should have waited another 30 min ;-) Now I need to withdraw comment #10: Inkscape r22436 works again fine with group knot-lpe (didn't test the undo-issue though)
thanks to both Johan and ScislaC!

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.