repeated random undo/redo in node editor throws exception

Bug #896529 reported by Alex Mitchell
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HypeDyn
Fix Released
Medium
teongleong
2.1
Invalid
Undecided
Unassigned

Bug Description

In a new node, I typed in some text, created a link, and then typed a bit more text. Then I randomly pressed undo and redo a few times, and the text got messed up, plus the following exception was thrown:

Exception in thread "AWT-EventQueue-0" javax.swing.text.StateInvariantError: GlyphView: Stale view: javax.swing.text.BadLocationException: Length must be positive
 at javax.swing.text.GlyphView.getText(GlyphView.java:118)
 at javax.swing.text.GlyphPainter1.getSpan(GlyphPainter1.java:43)
 at javax.swing.text.GlyphView.getPreferredSpan(GlyphView.java:535)
 at javax.swing.text.FlowView$LogicalView.getPreferredSpan(FlowView.java:715)
 at javax.swing.text.FlowView.calculateMinorAxisRequirements(FlowView.java:216)
 at javax.swing.text.BoxView.checkRequests(BoxView.java:918)
 at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:551)
 at javax.swing.text.BoxView.calculateMinorAxisRequirements(BoxView.java:886)
 at javax.swing.text.BoxView.checkRequests(BoxView.java:918)
 at javax.swing.text.BoxView.getMinimumSpan(BoxView.java:551)
 at javax.swing.plaf.basic.BasicTextUI$RootView.getMinimumSpan(BasicTextUI.java:1358)
 at javax.swing.plaf.basic.BasicTextUI.getMinimumSize(BasicTextUI.java:934)
 at javax.swing.JEditorPane.getScrollableTracksViewportWidth(JEditorPane.java:1544)
 at javax.swing.JEditorPane.getPreferredSize(JEditorPane.java:1418)
 at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769)
 at java.awt.Container.layout(Container.java:1421)
 at java.awt.Container.doLayout(Container.java:1410)
 at java.awt.Container.validateTree(Container.java:1507)
 at java.awt.Container.validate(Container.java:1480)
 at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:670)
 at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1671)
 at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
 at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677)
 at java.awt.EventQueue.access$000(EventQueue.java:85)
 at java.awt.EventQueue$1.run(EventQueue.java:638)
 at java.awt.EventQueue$1.run(EventQueue.java:636)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
 at java.awt.EventQueue.dispatchEvent(EventQueue.java:647)
 at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
 at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
 at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
 at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
 at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Changed in hypedyn:
milestone: 2.1.6 → 2.1.7
Changed in hypedyn:
status: New → In Progress
Changed in hypedyn:
status: In Progress → Fix Committed
Changed in hypedyn:
status: Fix Committed → 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.