Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Path Editor Reference Equality #231
This was a regression introduced between LGM 16b4 and 1.8.2
To reproduce in every release since 16b4 do the following:
The problem is essentially that PathPoint is used in a HashMap and HashSet in PathEditor as the key for the related PointVisual. PathPoint is a mutable object whose x, y, and speed can be changed. This is why using a custom hashCode() and equals() based on the property map does not work, especially because the point can be moved directly after being created (which it does if CTRL is not pressed).
So the solution from the following Stack Overflow post will be used to address the issue, I will be replacing the use of HashMap in PathEditor with IdentityHashMap for the next LGM release. This both addresses the immediate issue with the path frame and reverting unsaved changes continues to work as normal.