History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: IDEA-13136
Type: Bug Bug
Status: Open Open
Assignee: Kirill Kalishev
Reporter: Robert F. Beeger
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
IDEA: Feedback

ComboboxWithBrowseButton doesn't work anymore

Created: 06 Jun 07 22:17   Updated: 16 Jun 07 17:32
Component/s: Plugin Support. API

Build: 7,002
Severity: High


 Description  « Hide
With build 7002 ComboboxWithBrowseButton stopped working. Earlier pressing the browse button would show an IDEA file chooser with the path that was either selected or typed into the combobox selected in the chooser. Now the chooser opens and where normally the folder tree appears now only a label "searching" appears. Pressing the home or IDEA icon in the toolbar of the chooser leads to the following exception:
Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(23,78),button=1,modifiers=Button1,clickCount=1] on dialog4
java.lang.NullPointerException
at com.intellij.ide.util.treeView.AbstractTreeBuilder.getElementFor(AbstractTreeBuilder.java:912)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.processExpand(AbstractTreeBuilder.java:889)
at com.intellij.ide.util.treeView.AbstractTreeBuilder._expand(AbstractTreeBuilder.java:885)
at com.intellij.ide.util.treeView.AbstractTreeBuilder.select(AbstractTreeBuilder.java:847)
at com.intellij.openapi.fileChooser.ex.FileSystemTreeImpl.select(FileSystemTreeImpl.java:78)
at com.intellij.openapi.fileChooser.actions.GotoHomeAction.actionPerformed(GotoHomeAction.java:0)
at com.intellij.openapi.fileChooser.ex.FileChooserDialogImpl$FileChooserAction.actionPerformed(FileChooserDialogImpl.java:3)
at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:49)
at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:101)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:120)
at java.awt.Component.processEvent(Component.java:5266)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:53)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:25)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:71)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
at java.awt.Dialog$1.run(Dialog.java:525)
at java.awt.Dialog$2.run(Dialog.java:553)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:551)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:76)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:86)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:761)
at com.intellij.openapi.fileChooser.ex.FileChooserDialogImpl.choose(FileChooserDialogImpl.java:155)
at com.intellij.openapi.fileChooser.FileChooser.chooseFiles(FileChooser.java:40)
at com.intellij.openapi.ui.ComponentWithBrowseButton$BrowseFolderActionListener.doChoose(ComponentWithBrowseButton.java:182)
at com.intellij.openapi.ui.ComponentWithBrowseButton$BrowseFolderActionListener.actionPerformed(ComponentWithBrowseButton.java:167)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:232)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:231)
at java.awt.Component.processMouseEvent(Component.java:5501)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3135)
at java.awt.Component.processEvent(Component.java:5266)
at java.awt.Container.processEvent(Container.java:1966)
at java.awt.Component.dispatchEventImpl(Component.java:3968)
at java.awt.Container.dispatchEventImpl(Container.java:2024)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
at java.awt.Container.dispatchEventImpl(Container.java:2010)
at java.awt.Window.dispatchEventImpl(Window.java:1778)
at java.awt.Component.dispatchEvent(Component.java:3803)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:53)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:25)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:71)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:153)
at java.awt.Dialog$1.run(Dialog.java:525)
at java.awt.Dialog$2.run(Dialog.java:553)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:551)
at java.awt.Component.show(Component.java:1300)
at java.awt.Component.setVisible(Component.java:1253)
at net.beeger.filebrowser.DestinationChooserImpl.askForDestination(DestinationChooserImpl.java:113)
at net.beeger.filebrowser.actions.CopyAction$1.run(CopyAction.java:70)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:316)
at net.beeger.filebrowser.actions.CopyAction.actionPerformed(CopyAction.java:63)
at net.beeger.filebrowser.actions.wrappers.AbstractActionWrapper.actionPerformed(AbstractActionWrapper.java:40)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.a(IdeKeyEventDispatcher.java:137)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.b(IdeKeyEventDispatcher.java:212)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:84)
at com.intellij.ide.IdeEventQueue.a(IdeEventQueue.java:67)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:71)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

 All   Comments   Work Log   Change History      Sort Order:
Robert F. Beeger - 16 Jun 07 17:32
I found the problem.
Before 7002 it was possible to open a dialog containing a ComboboxWithBrowseButton in a writeActiion. Now the filechooser seems to execute a writeAction itself and thus waits for the writeAction in which it was opened to end. Fortunately that's not a big problem - for me at least. Now I'm only doing the part of the process that really changes something in a writeAction. Opening the dialog and with this opening the filechooser is now done outside of the writeAction and all works as expected.

So: You can close this bug.