Details

    • Type: Bug
    • Status: Closed
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: 4.1.3, 4.1.4
    • Fix Version/s: 4.2.0
    • Component/s: Editor
    • Sprint:
      BlueJ 4.2.0

      Description

      The following exception happens after the following steps (use the "close" button to close editor tabs, do not close the window):

      • Open two classes, A and B, as tabs in an editor window
      • Move B to a new window
      • close B, reopen
      • close A, reopen
      • close A, B. The following exception occurs:
      Exception in thread "JavaFX Application Thread" java.lang.NullPointerException
      	at com.sun.javafx.collections.ListListenerHelper.removeListener(ListListenerHelper.java:65)
      	at javafx.collections.ObservableListBase.removeListener(ObservableListBase.java:225)
      	at bluej.editor.stride.FrameShelfStorage.deregisterShelf(FrameShelfStorage.java:87)
      	at bluej.editor.stride.FrameShelf.cleanup(FrameShelf.java:583)
      	at bluej.editor.stride.FXTabbedEditor.cleanup(FXTabbedEditor.java:949)
      	at bluej.pkgmgr.Project.removeFXTabbedEditor(Project.java:2413)
      	at bluej.editor.stride.FXTabbedEditor.lambda$initialiseFX$3(FXTabbedEditor.java:286)
      	at com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(ListListenerHelper.java:329)
      	at com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(ListListenerHelper.java:73)
      	at javafx.collections.ObservableListBase.fireChange(ObservableListBase.java:233)
      	at javafx.collections.ListChangeBuilder.commit(ListChangeBuilder.java:482)
      	at javafx.collections.ListChangeBuilder.endChange(ListChangeBuilder.java:541)
      	at javafx.collections.ObservableListBase.endChange(ObservableListBase.java:205)
      	at javafx.collections.ModifiableObservableListBase.remove(ModifiableObservableListBase.java:183)
      	at javafx.collections.ModifiableObservableListBase.remove(ModifiableObservableListBase.java:171)
      	at bluej.editor.stride.FXTabbedEditor.setWindowVisible(FXTabbedEditor.java:546)
      	at bluej.editor.moe.MoeEditor.setEditorVisible(MoeEditor.java:544)
      	at bluej.editor.moe.MoeEditor.doClose(MoeEditor.java:1780)
      	at bluej.editor.moe.MoeEditor.close(MoeEditor.java:668)
      	at bluej.editor.moe.MoeActions.lambda$closeAction$14(MoeActions.java:1250)
      	at bluej.editor.moe.MoeActions$1.actionPerformed(MoeActions.java:1170)
      	at bluej.utility.javafx.FXAbstractAction.lambda$makeButton$0(FXAbstractAction.java:131)
      	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.scene.Node.fireEvent(Node.java:8411)
      	at javafx.scene.control.Button.fire(Button.java:185)
      	at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:182)
      	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:96)
      	at com.sun.javafx.scene.control.skin.BehaviorSkinBase$1.handle(BehaviorSkinBase.java:89)
      	at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:218)
      	at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
      	at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
      	at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
      	at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
      	at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
      	at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
      	at javafx.event.Event.fireEvent(Event.java:198)
      	at javafx.scene.Scene$MouseHandler.process(Scene.java:3757)
      	at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
      	at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
      	at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
      	at java.security.AccessController.doPrivileged(Native Method)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
      	at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
      	at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
      	at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
      	at com.sun.glass.ui.View.notifyMouse(View.java:937)
      	at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
      	at com.sun.glass.ui.gtk.GtkApplication.lambda$null$48(GtkApplication.java:139)
      	at java.lang.Thread.run(Thread.java:748)
      
      

        Attachments

          Activity

            People

            • Assignee:
              hitech Hamza Hamza
              Reporter:
              davmac Davin McCall
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: