Undo delete fails when selecting and deleting to connected object without selecting the arc

Bug #1834490 reported by Kenneth Yrke Jørgensen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
TAPAAL
Fix Released
Undecided
Kenneth Yrke Jørgensen
Dev
Fix Released
Undecided
Kenneth Yrke Jørgensen

Bug Description

To reproduce:
 - Open a net
 - Select a place
 - select a connected tranistion (hold shift)
 - :Connected arcs are automatically selected
 - deselect the arc (hold shift)
 - delete selected object
 - undo

Revision history for this message
Kenneth Yrke Jørgensen (yrke) wrote :

Reproduced in tapaal 3.4.0 throws exception

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at pipe.gui.graphicElements.ArcPath.addPointsToGui(ArcPath.java:655)
        at pipe.gui.graphicElements.ArcPath.insertPoint(ArcPath.java:720)
        at pipe.gui.undo.DeleteArcPathPointEdit.undo(DeleteArcPathPointEdit.java:32)
        at pipe.gui.undo.UndoManager.undo(UndoManager.java:114)
        at pipe.gui.GuiFrame$EditAction.actionPerformed(GuiFrame.java:2683)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

Changed in tapaal:
status: New → Confirmed
assignee: nobody → Kenneth Yrke Jørgensen (yrke)
Revision history for this message
Kenneth Yrke Jørgensen (yrke) wrote :

Confirmed in dev,

Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: -1, Size: 3
 at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:665)
 at java.util.ArrayList.add(ArrayList.java:477)
 at pipe.gui.graphicElements.ArcPath.insertPoint(ArcPath.java:659)
 at pipe.gui.undo.DeleteArcPathPointEdit.undo(DeleteArcPathPointEdit.java:32)
 at pipe.gui.undo.UndoManager.undo(UndoManager.java:110)

Revision history for this message
Kenneth Yrke Jørgensen (yrke) wrote :

In UndoManager deleteSelected there is a special case for ArcPathPoints if the Arcpath is selected:

if (pnObject instanceof ArcPathPoint) {
  if (!((ArcPathPoint) pnObject).getArcPath().getArc().isSelected()) {

Here the arc is not selected, so there might be something an error somewhere related to order of the deletes/redo.

Revision history for this message
Kenneth Yrke Jørgensen (yrke) wrote :

In dev, no exception but arcpath point are added back wrong. This is fixed in brach lp:~yrke/tapaal/modelControlsDrawingsurface

Changed in tapaal:
status: Confirmed → Fix Released
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.