Skip to content

Field right-click 'Protect terms' resulting in error #4958

@alfureu

Description

@alfureu

JabRef 5.0-dev--snapshot--2019-05-06--master--c168c4978
Windows 10 10.0 amd64
Java 1.8.0_172

Steps to reproduce the behavior:

  1. Add author field, ie: Directorate-General for Research and Innovation
  2. Right-click and select Protect terms > Add {} around selected text
  3. Error (see screenshot)
  4. Even if the {} brackets are manually added, it is ignored in the main list

image

Log File
java.lang.IllegalStateException: Task must only be used from the FX Application Thread
  at javafx.concurrent.Task.checkThread(Task.java:1218)
  at javafx.concurrent.Task.isRunning(Task.java:985)
  at org.controlsfx.control.textfield.AutoCompletionBinding.onUserInputChanged(AutoCompletionBinding.java:333)
  at org.controlsfx.control.textfield.AutoCompletionBinding.setUserInput(AutoCompletionBinding.java:135)
  at org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.setUserInputText(AutoCompletionTextInputBinding.java:136)
  at org.jabref.gui.autocompleter.AutoCompletionTextInputBinding.lambda$new$1074(AutoCompletionTextInputBinding.java:54)
  at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
  at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
  at javafx.scene.control.TextInputControl$TextProperty.fireValueChangedEvent(TextInputControl.java:1389)
  at javafx.scene.control.TextInputControl$TextProperty.markInvalid(TextInputControl.java:1393)
  at javafx.scene.control.TextInputControl$TextProperty.controlContentHasChanged(TextInputControl.java:1332)
  at javafx.scene.control.TextInputControl$TextProperty.access$1600(TextInputControl.java:1300)
  at javafx.scene.control.TextInputControl.lambda$new$162(TextInputControl.java:139)
  at com.sun.javafx.binding.ExpressionHelper$SingleInvalidation.fireValueChangedEvent(ExpressionHelper.java:137)
  at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
  at javafx.scene.control.TextField$TextFieldContent.insert(TextField.java:87)
  at javafx.scene.control.TextInputControl.replaceText(TextInputControl.java:1204)
  at javafx.scene.control.TextInputControl.filterAndSet(TextInputControl.java:1171)
  at javafx.scene.control.TextInputControl.access$900(TextInputControl.java:79)
  at javafx.scene.control.TextInputControl$TextProperty.doSet(TextInputControl.java:1410)
  at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:1323)
  at javafx.scene.control.TextInputControl$TextProperty.set(TextInputControl.java:1300)
  at javafx.beans.property.StringProperty.setValue(StringProperty.java:65)
  at javafx.beans.property.StringProperty.setValue(StringProperty.java:57)
  at com.sun.javafx.binding.BidirectionalBinding$TypedGenericBidirectionalBinding.changed(BidirectionalBinding.java:601)
  at com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(ExpressionHelper.java:361)
  at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
  at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
  at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
  at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144)
  at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
  at javafx.beans.property.StringProperty.setValue(StringProperty.java:65)
  at javafx.beans.property.StringProperty.setValue(StringProperty.java:57)
  at org.jabref.gui.util.BindingsHelper$BidirectionalBinding.updateLocked(BindingsHelper.java:234)
  at org.jabref.gui.util.BindingsHelper$BidirectionalBinding.changedB(BindingsHelper.java:227)
  at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
  at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
  at javafx.beans.binding.ObjectBinding.invalidate(ObjectBinding.java:172)
  at com.sun.javafx.binding.BindingHelperObserver.invalidated(BindingHelperObserver.java:51)
  at com.sun.javafx.collections.MapListenerHelper$Generic.fireValueChangedEvent(MapListenerHelper.java:320)
  at com.sun.javafx.collections.MapListenerHelper.fireValueChangedEvent(MapListenerHelper.java:72)
  at com.sun.javafx.collections.ObservableMapWrapper.callObservers(ObservableMapWrapper.java:115)
  at com.sun.javafx.collections.ObservableMapWrapper.put(ObservableMapWrapper.java:169)
  at org.jabref.model.entry.BibEntry.setField(BibEntry.java:413)
  at org.jabref.model.cleanup.FieldFormatterCleanup.cleanupSingleField(FieldFormatterCleanup.java:63)
  at org.jabref.model.cleanup.FieldFormatterCleanup.cleanupAllTextFields(FieldFormatterCleanup.java:88)
  at org.jabref.model.cleanup.FieldFormatterCleanup.cleanup(FieldFormatterCleanup.java:32)
  at org.jabref.model.cleanup.FieldFormatterCleanups.applyAllActions(FieldFormatterCleanups.java:71)
  at org.jabref.model.cleanup.FieldFormatterCleanups.applySaveActions(FieldFormatterCleanups.java:61)
  at org.jabref.logic.exporter.BibDatabaseWriter.lambda$applySaveActions$192(BibDatabaseWriter.java:60)
  at java.util.Optional.ifPresent(Unknown Source)
  at org.jabref.logic.exporter.BibDatabaseWriter.applySaveActions(BibDatabaseWriter.java:57)
  at org.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(BibDatabaseWriter.java:172)
  at org.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(BibDatabaseWriter.java:143)
  at org.jabref.logic.autosaveandbackup.BackupManager.performBackup(BackupManager.java:124)
  at java.util.Optional.ifPresent(Unknown Source)
  at org.jabref.logic.autosaveandbackup.BackupManager.lambda$new$132(BackupManager.java:49)
  at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
  at java.util.concurrent.FutureTask.run(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions