Expected Behavior
No exception should be thrown when scrolling
Actual Behavior
Exception is thrown when scrolling
Reproducible Demo
Using JavaKeywordsDemo, I've copied the preset text until I had about 600 lines of text. Then I maximize the window vertically (It seems to have something to do with render speed, the exception is not always thrown ...).
Then I jump to the start of the file, push PgDown and hold it down.
Text begins to scroll and after a few pages of scrolling ...
Exception in thread "JavaFX Application Thread" java.util.NoSuchElementException
at org.reactfx.util.SparseList$AbsentSegment.getOrThrow(SparseList.java:78)
at org.reactfx.util.FingerTree.lambda$get$2(FingerTree.java:1027)
at org.reactfx.util.BiIndex.map(BiIndex.java:15)
at org.reactfx.util.FingerTree.get(FingerTree.java:1027)
at org.reactfx.util.SparseList.getPresent(SparseList.java:259)
at org.reactfx.collection.MemoizationListImpl$MemoizedView.get(MemoizationList.java:41)
at org.fxmisc.richtext.GenericStyledArea.visibleParToAllParIndex(GenericStyledArea.java:990)
at org.fxmisc.richtext.ViewActions.lastVisibleParToAllParIndex(ViewActions.java:289)
at org.fxmisc.richtext.GenericStyledArea.nextPage(GenericStyledArea.java:1422)
at org.fxmisc.richtext.GenericStyledAreaBehavior.lambda$static$10(GenericStyledAreaBehavior.java:107)
at org.fxmisc.wellbehaved.event.template.InputMapTemplate.lambda$consume$0(InputMapTemplate.java:221)
at org.fxmisc.wellbehaved.event.template.PatternActionTemplate.lambda$null$1(InputMapTemplate.java:425)
at java.base/java.util.Optional.map(Optional.java:265)
at org.fxmisc.wellbehaved.event.template.PatternActionTemplate.lambda$getInputHandlerTemplateMap$2(InputMapTemplate.java:425)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:25)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:25)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputMapTemplate$1.lambda$null$0(InputMapTemplate.java:202)
at org.fxmisc.wellbehaved.event.template.InputHandlerTemplateMap.lambda$sequence$0(InputHandlerTemplateMap.java:24)
at org.fxmisc.wellbehaved.event.template.InputMapTemplate$HandlerTemplateConsumer$1.lambda$accept$0(InputMapTemplate.java:103)
at org.fxmisc.wellbehaved.event.InputHandler.handle(InputHandler.java:50)
at javafx.base/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
at javafx.base/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at javafx.base/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at javafx.base/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at javafx.base/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at javafx.base/com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at javafx.base/com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.base/javafx.event.Event.fireEvent(Event.java:198)
at javafx.graphics/javafx.scene.Scene$KeyHandler.process(Scene.java:4061)
at javafx.graphics/javafx.scene.Scene$KeyHandler.access$1500(Scene.java:4007)
at javafx.graphics/javafx.scene.Scene.processKeyEvent(Scene.java:2124)
at javafx.graphics/javafx.scene.Scene$ScenePeerListener.keyEvent(Scene.java:2598)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:217)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler$KeyEventNotification.run(GlassViewEventHandler.java:149)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleKeyEvent$1(GlassViewEventHandler.java:248)
at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:391)
at javafx.graphics/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleKeyEvent(GlassViewEventHandler.java:247)
at javafx.graphics/com.sun.glass.ui.View.handleKeyEvent(View.java:547)
at javafx.graphics/com.sun.glass.ui.View.notifyKey(View.java:971)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:277)
at java.base/java.lang.Thread.run(Thread.java:829)
Environment info:
- RichTextFX Version: 0.10.9
- Operating System: Linux
- Java version: Bellsoft openjdk version "11.0.14.1" 2022-02-08 LTS
- also happens with Adoptium openjdk version "17.0.1" 2021-10-19
Expected Behavior
No exception should be thrown when scrolling
Actual Behavior
Exception is thrown when scrolling
Reproducible Demo
Using JavaKeywordsDemo, I've copied the preset text until I had about 600 lines of text. Then I maximize the window vertically (It seems to have something to do with render speed, the exception is not always thrown ...).
Then I jump to the start of the file, push PgDown and hold it down.
Text begins to scroll and after a few pages of scrolling ...
Environment info: