Menu

#78 MultiSplitDockableContainer IllegalArgumentException

open
None
7
2010-02-14
2010-01-05
Albu Huba
No

When the toolWindowManager has got many visible toolwindows (just the title bar is visible for each) and we try to hide a tool by clicking on the X button, it crashes because of and IllegalArgumentException in the class: MultiSplitDockableContainer, method: removeDockable(Dockable dockable). The Component component = multiSplitPane.getMultiSplitLayout().getChildMap().get(leafKey); returns a null component, but in fact the component is still there (probably it's not visible).

Discussion

  • Albu Huba

    Albu Huba - 2010-01-05
    • priority: 5 --> 7
     
  • Angelo De Caro

    Angelo De Caro - 2010-02-14

    Hi Albu,
    do you have a stacktrace for it? I need more information on the scenario.

    Best,
    ./angelo

     
  • Angelo De Caro

    Angelo De Caro - 2010-02-14
    • assigned_to: nobody --> adecaro
     
  • Albu Huba

    Albu Huba - 2010-02-15

    The line numbers maybe are not right because i made a format on the source code.
    To help your work, i attached the file too.

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at java.awt.Container.remove(Container.java:1195)
    at org.noos.xing.mydoggy.plaf.ui.cmp.MultiSplitDockableContainer.removeDockable(MultiSplitDockableContainer.java:632)
    at org.noos.xing.mydoggy.plaf.ui.cmp.MultiSplitDockableContainer.removeDockable(MultiSplitDockableContainer.java:655)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar$VisibleDockedListener.enabledContentManagerPropertyChange(MyDoggyToolWindowBar.java:918)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar$VisibleDockedListener.propertyChange(MyDoggyToolWindowBar.java:832)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:347)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar.propertyChange(MyDoggyToolWindowBar.java:227)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar$VisibleListener.propertyChange(MyDoggyToolWindowBar.java:799)
    at org.noos.xing.mydoggy.plaf.ui.util.SourceFilterPropertyChangeListener.propertyChange(SourceFilterPropertyChangeListener.java:21)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:339)
    at java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:347)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowBar.propertyChange(MyDoggyToolWindowBar.java:227)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowManager$VisiblePropertyChangeListener.propertyChange(MyDoggyToolWindowManager.java:1342)
    at org.noos.xing.mydoggy.plaf.ui.util.SourceFilterPropertyChangeListener.propertyChange(SourceFilterPropertyChangeListener.java:21)
    at org.noos.xing.mydoggy.plaf.support.CleanablePropertyChangeSupport.firePropertyChange(CleanablePropertyChangeSupport.java:191)
    at org.noos.xing.mydoggy.plaf.support.CleanablePropertyChangeSupport.firePropertyChange(CleanablePropertyChangeSupport.java:199)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindowManager.propertyChange(MyDoggyToolWindowManager.java:525)
    at org.noos.xing.mydoggy.plaf.support.CleanablePropertyChangeSupport.firePropertyChange(CleanablePropertyChangeSupport.java:191)
    at org.noos.xing.mydoggy.plaf.PropertyChangeEventSource.firePropertyChangeEvent(PropertyChangeEventSource.java:204)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindow.firePropertyChangeEvent(MyDoggyToolWindow.java:969)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindow.setVisibleInternal(MyDoggyToolWindow.java:897)
    at org.noos.xing.mydoggy.plaf.MyDoggyToolWindow.setVisible(MyDoggyToolWindow.java:330)
    at org.noos.xing.mydoggy.plaf.ui.look.ToolWindowRepresentativeAnchorUI$ToolWindowRepresentativeAnchorMouseAdapter.mouseClicked(ToolWindowRepresentativeAnchorUI.java:412)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:252)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6266)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    at java.awt.Component.processEvent(Component.java:6028)
    at java.awt.Container.processEvent(Container.java:2041)
    at java.awt.Component.dispatchEventImpl(Component.java:4630)
    at java.awt.Container.dispatchEventImpl(Container.java:2099)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    at java.awt.Container.dispatchEventImpl(Container.java:2085)
    at java.awt.Window.dispatchEventImpl(Window.java:2475)
    at java.awt.Component.dispatchEvent(Component.java:4460)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

     
  • Albu Huba

    Albu Huba - 2010-02-15
     
  • Angelo De Caro

    Angelo De Caro - 2010-03-20

    Hi Albu,
    the class you sent me is old. Please update to the latest revision and verify again if the problem persists.

    Best,
    ./angelo

     
Auth0 Logo