You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Move/add/delete vertex tool. Ctrl-right-click a control on a CIRCULARSTRING (or a GEOMETRYCOLLECTION of them) does delete the vertex, but a phantom point stays on the canvas.
XOR indicator.EditVertexTool.mouseClicked (right-click insert/delete) never clearIndicator(). A prior left-press draws the rubber-band circle in XOR; right-click mouseReleased returns without clearing it, so the circle stays at the deleted vertex.
Not HotPixel. Same tool path as #82, inverse operation.
Expected
Ctrl-right-click delete on a CircularString removes two controls (the vertex and its paired mid), count stays odd and ≥ 3.
3-control CS refuses delete (would drop below a single arc).
No leftover vertex in the WKT; no XOR circle after the click.
Witness (RC3)
Move/add/delete vertex tool. Ctrl-right-click a control on a
CIRCULARSTRING(or aGEOMETRYCOLLECTIONof them) does delete the vertex, but a phantom point stays on the canvas.Screenshot:
Screenshot 2026-08-22 140117.png.Why
GeometryVertexDeleter). A 5-control CS becomes 4. The renderer walks triples(0,1,2), (2,3,4), …; the even leftover is drawn as a dangling vertex / chord that is not an arc — the phantom.EditVertexTool.mouseClicked(right-click insert/delete) neverclearIndicator(). A prior left-press draws the rubber-band circle in XOR; right-clickmouseReleasedreturns without clearing it, so the circle stays at the deleted vertex.Not HotPixel. Same tool path as #82, inverse operation.
Expected
Do not close without UX SIGN.