Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update richtext and flowless #3386

Merged
merged 1 commit into from
Nov 1, 2017
Merged

Update richtext and flowless #3386

merged 1 commit into from
Nov 1, 2017

Conversation

tobiasdiez
Copy link
Member

@lenhard Can you please try if these updates fixes the IndexOutOfBounds exception. They fixed an issue that looks very similar FXMisc/RichTextFX#579.

  • Change in CHANGELOG.md described
  • Tests created for changes
  • Screenshots added (for bigger UI changes)
  • Manually tested changed features in running JabRef
  • Check documentation status (Issue created for outdated help page at help.jabref.org?)
  • If you changed the localization: Did you run gradle localizationUpdate?

@tobiasdiez tobiasdiez added the status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers label Nov 1, 2017
@lenhard
Copy link
Member

lenhard commented Nov 1, 2017

I still get the exception, for example when

  1. adding a new entry
  2. moving to the source tab
  3. moving back to the required tab and typing something in the key field
  4. exception occurs, source tab is not updated and becomes nonfunctional.

To be honest, this looks as if the binding is broken. I guess until this get fixed, the source tab will be a blocker for a 4.1 release.

09:31:05.737 [JavaFX Application Thread] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[JavaFX Application Thread,5,main]
java.lang.IndexOutOfBoundsException: 10 not in [0, 1]
        at org.reactfx.util.Lists.checkPosition(Lists.java:110) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.util.Lists.checkPosition(Lists.java:105) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.util.FingerTree$NonEmptyFingerTree.locateProgressively(FingerTree.java:51) ~[reactfx-2.0-M5.jar:?]
        at org.fxmisc.richtext.model.ReadOnlyStyledDocument$Pos.offsetBy(ReadOnlyStyledDocument.java:448) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.model.ReadOnlyStyledDocument.offsetToPosition(ReadOnlyStyledDocument.java:265) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.model.GenericEditableStyledDocumentBase.offsetToPosition(GenericEditableStyledDocumentBase.java:119) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.model.SimpleEditableStyledDocument.offsetToPosition(SimpleEditableStyledDocument.java:10) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.GenericStyledArea.offsetToPosition(GenericStyledArea.java:952) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.CaretImpl.lambda$new$1(CaretImpl.java:104) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.reactfx.value.Val$2.computeValue(Val.java:705) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.ValBase.getValue(ValBase.java:17) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.ValBase.newObserver(ValBase.java:40) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.ValBase.newObserver(ValBase.java:8) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:110) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addInvalidationObserver(Val.java:52) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addListener(Val.java:70) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.observeInvalidations(Val.java:432) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.MappedVal.connect(MappedVal.java:28) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.ValBase.observeInputs(ValBase.java:26) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:108) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.observe(ObservableBase.java:100) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.observeInvalidations(Val.java:61) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val$1.observeInputs(Val.java:104) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:108) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.observe(ObservableBase.java:100) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.EventStream.subscribe(EventStream.java:53) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.SuspendableBase.observeInputs(SuspendableBase.java:49) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:108) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addInvalidationObserver(Val.java:52) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addListener(Val.java:70) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val$2.connect(Val.java:693) ~[reactfx-2.0-M5.jar:?]

        at org.reactfx.value.ValBase.observeInputs(ValBase.java:26) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:108) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addInvalidationObserver(Val.java:52) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.value.Val.addListener(Val.java:80) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.EventStreams$3.observeInputs(EventStreams.java:106) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.addObserver(ObservableBase.java:108) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.ObservableBase.observe(ObservableBase.java:100) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.EventStream.subscribe(EventStream.java:53) ~[reactfx-2.0-M5.jar:?]
        at org.fxmisc.richtext.GenericStyledArea.createCell(GenericStyledArea.java:1299) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.richtext.GenericStyledArea.lambda$new$9(GenericStyledArea.java:658) ~[richtextfx-0.8.1.jar:0.8.1]
        at org.fxmisc.flowless.CellPool.getCell(CellPool.java:28) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.CellListManager.cellForItem(CellListManager.java:86) ~[flowless-0.6.jar:?]
        at org.reactfx.collection.MappedList.get(MappedList.java:27) ~[reactfx-2.0-M5.jar:?]
        at org.reactfx.collection.MemoizationListImpl.get(MemoizationList.java:99) ~[reactfx-2.0-M5.jar:?]
        at org.fxmisc.flowless.CellListManager.getCell(CellListManager.java:69) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.CellPositioner.getSizedCell(CellPositioner.java:217) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.CellPositioner.placeStartAt(CellPositioner.java:127) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.Navigator.placeStartAtMayCrop(Navigator.java:201) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.Navigator.visit(Navigator.java:129) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.StartOffStart.accept(TargetPosition.java:85) ~[flowless-0.6.jar:?]
        at org.fxmisc.flowless.Navigator.layoutChildren(Navigator.java:78) ~[flowless-0.6.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1087) ~[jfxrt.jar:?]
        at org.fxmisc.flowless.VirtualFlow.layoutChildren(VirtualFlow.java:257) ~[flowless-0.6.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1087) ~[jfxrt.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1093) ~[jfxrt.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1093) ~[jfxrt.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1093) ~[jfxrt.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1093) ~[jfxrt.jar:?]
        at javafx.scene.Parent.layout(Parent.java:1093) ~[jfxrt.jar:?]
        at javafx.scene.Scene.doLayoutPass(Scene.java:552) ~[jfxrt.jar:?]
        at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2397) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.Toolkit.lambda$runPulse$30(Toolkit.java:355) ~[jfxrt.jar:?]
        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_121]
        at com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:354) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:381) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:510) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:490) ~[jfxrt.jar:?]
        at com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$404(QuantumToolkit.java:319) ~[jfxrt.jar:?]
        at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) ~[jfxrt.jar:?]
        at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) ~[jfxrt.jar:?]
        at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) ~[jfxrt.jar:?]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]

@tobiasdiez
Copy link
Member Author

Ok, I reported the issue FXMisc/RichTextFX#637, maybe they already know whats going on and how to fix it. I don't have time at the moment to provide a minimal non-working example, so feel free to update the issue there with more details.

We can nonetheless update to the latest version, so I'll merge this PR now.

@tobiasdiez tobiasdiez merged commit 84e9071 into master Nov 1, 2017
@tobiasdiez tobiasdiez deleted the updateFxDeps branch November 1, 2017 09:36
Siedlerchr added a commit that referenced this pull request Nov 1, 2017
* upstream/master: (79 commits)
  Update richtext and flowless (#3386)
  Source tab: hide notification pane when code is correct again (#3387)
  Titles are optional at crossref (#3378)
  Update entry for every change in the source panel (#3366)
  Rework AutoSetFileLinks (#3368)
  revert wrongly commited changes
  Refactorings (#3370)
  Fix freezing when running cleanup file operations like rename (#3315)
  This additional style setting for IDEA (#3355)
  Fix checkstyle
  Add proper equals to content selector
  Source tab entry duplication (#3360)
  Use CITE_COMMENT not only for external latex editors but also for cop… (#3351)
  Updating with new translations (#3348)
  Upgrade error-prone (#3350)
  Jabref_pt_BR partially updated (#3349)
  Delete unused code
  Extract difference finder from gui to logic
  Used late initialization for context menus (#3340)
  Fix NPE when calling with bib file as cmd argument (#3343)
  ...
Siedlerchr added a commit that referenced this pull request Nov 3, 2017
* upstream/master: (22 commits)
  Improve SyncLang.py (#3184)
  Config intellj code style to adhere to empty lines checkstyle rule (#3365)
  Don't list same look and feels more than once (#3393)
  progessdialog and result table are now shown correclty on copy files
  Export pdf/linked files  (#3147)
  Added checking integrity dialog (#3388)
  Update richtext and flowless (#3386)
  Source tab: hide notification pane when code is correct again (#3387)
  Titles are optional at crossref (#3378)
  Update entry for every change in the source panel (#3366)
  Rework AutoSetFileLinks (#3368)
  revert wrongly commited changes
  Refactorings (#3370)
  Fix freezing when running cleanup file operations like rename (#3315)
  This additional style setting for IDEA (#3355)
  Fix checkstyle
  Add proper equals to content selector
  Delete unused code
  Extract difference finder from gui to logic
  Remove unnecessary EntrySorter
  ...

# Conflicts:
#	src/main/java/org/jabref/gui/entryeditor/SourceTab.java
Siedlerchr added a commit that referenced this pull request Nov 4, 2017
* upstream/master: (26 commits)
  Fix static localized text (#3400)
  Fix problems in source editor (#3398)
  Fix MathSciNet fetcher (#3402)
  Fix NPE when saving new file
  Improve SyncLang.py (#3184)
  Config intellj code style to adhere to empty lines checkstyle rule (#3365)
  Don't list same look and feels more than once (#3393)
  progessdialog and result table are now shown correclty on copy files
  Export pdf/linked files  (#3147)
  Added checking integrity dialog (#3388)
  Update richtext and flowless (#3386)
  Source tab: hide notification pane when code is correct again (#3387)
  Titles are optional at crossref (#3378)
  Update entry for every change in the source panel (#3366)
  Rework AutoSetFileLinks (#3368)
  revert wrongly commited changes
  Refactorings (#3370)
  Fix freezing when running cleanup file operations like rename (#3315)
  This additional style setting for IDEA (#3355)
  Fix checkstyle
  ...

# Conflicts:
#	CHANGELOG.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: ready-for-review Pull Requests that are ready to be reviewed by the maintainers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants