Modify ↓
Opened 13 years ago
Closed 13 years ago
#7593 closed defect (fixed)
IllegalPathStateException when attempting to purge an item in a Multipolygon
Reported by: | rickmastfan67 | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | latest |
Keywords: | Cc: |
Description
Just had this happen when I purged an item in JOSM. Here are the steps to reproduce:
- Download the following area: http://www.openstreetmap.org/?lat=35.81729&lon=-82.5362&zoom=16&layers=M
- Zoom in on the Interchange you see (Exit #11 on I-26) to about 63.9m
- Now, look for a "boundary=administrative" way that looks like a box. (It's right above the SB ramps for Exit #11)
- Select it (should be part of the "Mars Hill" multipolygon relation).
- Now Edit>Purge and hit the Purge button that shows up in the "Confirm Purging" window.
- JOSM will now crash and provide the following bug report.
Also, while the item in question will still get purged, it will not show up in the Command Stack in case you want to undo it, forcing you to re-download the entire area to get it back.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2012-04-10 01:32:25 Last Changed Author: akks Revision: 5174 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2012-04-09 09:15:31 +0200 (Mon, 09 Apr 2012) Last Changed Rev: 5174 Identification: JOSM/1.5 (5174 en) Memory Usage: 303 MB / 2730 MB (80 MB allocated, but free) Java version: 1.6.0_31, Sun Microsystems Inc., Java HotSpot(TM) 64-Bit Server VM Operating system: Windows 7 Dataset consistency test: No problems found Plugin: OpeningHoursEditor (27852) Plugin: buildings_tools (27984) Plugin: licensechange (27964) Plugin: mapdust (27884) Plugin: measurement (27957) Plugin: openstreetbugs (27852) Plugin: reverter (28089) Plugin: turnrestrictions (27891) Plugin: undelete (27852) Plugin: utilsplugin2 (28045) java.awt.geom.IllegalPathStateException: missing initial moveto in path definition at java.awt.geom.Path2D$Double.needRoom(Unknown Source) at java.awt.geom.Path2D.closePath(Unknown Source) at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.buildPoly(Multipolygon.java:223) at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.resetPoly(Multipolygon.java:310) at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.resetNodes(Multipolygon.java:304) at org.openstreetmap.josm.data.osm.visitor.paint.relations.Multipolygon$PolyData.wayNodesChanged(Multipolygon.java:338) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.dispatchEvent(MultipolygonCache.java:181) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.processEvent(MultipolygonCache.java:162) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:149) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:128) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.updateMultipolygonsReferringTo(MultipolygonCache.java:123) at org.openstreetmap.josm.data.osm.visitor.paint.relations.MultipolygonCache.wayNodesChanged(MultipolygonCache.java:216) at org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent.fire(WayNodesChangedEvent.java:22) at org.openstreetmap.josm.data.osm.DataSet.fireEventToListeners(DataSet.java:1008) at org.openstreetmap.josm.data.osm.DataSet.endUpdate(DataSet.java:987) at org.openstreetmap.josm.command.PurgeCommand.executeCommand(PurgeCommand.java:119) at org.openstreetmap.josm.data.UndoRedoHandler.addNoRedraw(UndoRedoHandler.java:36) at org.openstreetmap.josm.data.UndoRedoHandler.add(UndoRedoHandler.java:58) at org.openstreetmap.josm.actions.PurgeAction.actionPerformed(PurgeAction.java:207) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$000(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.awt.EventQueue$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.awt.EventQueue$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Attachments (0)
Note:
See TracTickets
for help on using tickets.
In 5176/josm: