Glad we were able to figure it out. Unfortunately trying to validate a path is a complex issue, and at the moment the app more or less assumes a path is valid. Throwing a point that’s not on the curve path, causes the drawing routine to draw the curve, then backtrack to the non curve point. And that appears to put the app in an endless loop… which makes the app hang until you might catch an event that it will handle- luje editing the piece properties. I’m not sure if it’s hanging in the app code or a qt painter routine.
I know that feeling all too well having owned a costume shop for 42 years until a fire burned down the building back in March. Spent many long nights getting jobs done. Never fun when the machines refuse to cooperate.
Well, as usual I’m just glad it’s not some other long undiscovered bug or something new I’ve introduced.
In this case I’m not sure how I could have the app validate a path… hmmm - unless a check is added to make sure a point node is actually part of the curve.
That’s not a bad idea Because, effectively, the program was redrawing the whole curve after each node that wasn’t attached to it.
Something like that. Probably would have to run the app in debug mode with the pattern to see exactly what it’s trying to do drawing the sleeve piece, but it definitely seems like having a curve seg - non curve point node - curve seg is causing a recursive loop. And it was totally non responsive when trying to delete B15 and the extra curve segment.
So if I can devise a check to check that when a point is between 2 curve segments that are the same, the point MUST be part of that curve. If not then disable the point and one of curve segments and post a warning in the tooltip.
BTW… need to check in general what happens if you have 2 of the curve segments after one another. I’ve never checked, because it’s not something I would normally do.
Normally if you click anything twice in succession, it will uncheck the 1st click and cancel the action, so I don’t think it’s possible to have this unless you edit the path after you’ve created the pattern piece.
Correct… one could “insert” another curve segment node or “duplicate” a curve segment or delete a point node in between… any one of which will make for successive identical curve segments.