Project

General

Profile

Bug #5414

fileparameter browse has NPE

Added by Daniel Crawl almost 8 years ago. Updated almost 8 years ago.

Status:
Resolved
Priority:
Normal
Category:
general
Target version:
Start date:
05/27/2011
Due date:
% Done:

0%

Estimated time:
Bugzilla-Id:
5414

Description

FileParameter browse button throws an NPE on Mac. No error on linux.

[run] Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
[run] at ptolemy.gui.Query$QueryFileChooser._actionPerformedFileDialog(Query.java:2065)
[run] at ptolemy.gui.Query$QueryFileChooser.actionPerformed(Query.java:2026)
[run] at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028)
[run] at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351)
[run] at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
[run] at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
[run] at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
[run] at java.awt.Component.processMouseEvent(Component.java:6374)
[run] at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
[run] at java.awt.Component.processEvent(Component.java:6139)
[run] at java.awt.Container.processEvent(Container.java:2085)
[run] at java.awt.Component.dispatchEventImpl(Component.java:4736)
[run] at java.awt.Container.dispatchEventImpl(Container.java:2143)
[run] at java.awt.Component.dispatchEvent(Component.java:4566)
[run] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
[run] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
[run] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
[run] at java.awt.Container.dispatchEventImpl(Container.java:2129)
[run] at java.awt.Window.dispatchEventImpl(Window.java:2478)
[run] at java.awt.Component.dispatchEvent(Component.java:4566)
[run] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:680)
[run] at java.awt.EventQueue.access$000(EventQueue.java:86)
[run] at java.awt.EventQueue$1.run(EventQueue.java:639)
[run] at java.awt.EventQueue$1.run(EventQueue.java:637)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
[run] at java.awt.EventQueue$2.run(EventQueue.java:653)
[run] at java.awt.EventQueue$2.run(EventQueue.java:651)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
[run] at java.awt.EventQueue.dispatchEvent(EventQueue.java:650)
[run] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
[run] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
[run] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205)
[run] at java.awt.Dialog$1.run(Dialog.java:1046)
[run] at java.awt.Dialog$3.run(Dialog.java:1098)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.awt.Dialog.show(Dialog.java:1096)
[run] at java.awt.Component.show(Component.java:1585)
[run] at java.awt.Component.setVisible(Component.java:1537)
[run] at java.awt.Window.setVisible(Window.java:842)
[run] at java.awt.Dialog.setVisible(Dialog.java:986)
[run] at ptolemy.gui.ComponentDialog.<init>(ComponentDialog.java:209)
[run] at ptolemy.gui.ComponentDialog.<init>(ComponentDialog.java:122)
[run] at ptolemy.gui.ComponentDialog.<init>(ComponentDialog.java:101)
[run] at ptolemy.actor.gui.EditParametersDialog.<init>(EditParametersDialog.java:105)
[run] at ptolemy.actor.gui.EditParametersDialog.<init>(EditParametersDialog.java:93)
[run] at ptolemy.vergil.toolbox.ConfigureAction._openDialog(ConfigureAction.java:145)
[run] at ptolemy.vergil.toolbox.ConfigureAction.actionPerformed(ConfigureAction.java:99)
[run] at diva.canvas.interactor.ActionInteractor.mousePressed(ActionInteractor.java:74)
[run] at diva.canvas.interactor.CompositeInteractor.mousePressed(CompositeInteractor.java:199)
[run] at diva.canvas.interactor.SelectionInteractor.mousePressed(SelectionInteractor.java:202)
[run] at diva.canvas.FigureLayer.dispatchEventUpTree(FigureLayer.java:551)
[run] at diva.canvas.FigureLayer.grabPointer(FigureLayer.java:319)
[run] at diva.canvas.FigureLayer.processLayerEvent(FigureLayer.java:673)
[run] at diva.canvas.FigureLayer.dispatchEvent(FigureLayer.java:203)
[run] at diva.canvas.CanvasPane.processLayerEvent(CanvasPane.java:280)
[run] at diva.canvas.CanvasPane.dispatchEvent(CanvasPane.java:89)
[run] at diva.canvas.JCanvas.internalProcessMouseEvent(JCanvas.java:518)
[run] at diva.canvas.JCanvas.processMouseEvent(JCanvas.java:472)
[run] at java.awt.Component.processEvent(Component.java:6139)
[run] at java.awt.Container.processEvent(Container.java:2085)
[run] at java.awt.Component.dispatchEventImpl(Component.java:4736)
[run] at java.awt.Container.dispatchEventImpl(Container.java:2143)
[run] at java.awt.Component.dispatchEvent(Component.java:4566)
[run] at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621)
[run] at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4279)
[run] at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
[run] at java.awt.Container.dispatchEventImpl(Container.java:2129)
[run] at java.awt.Window.dispatchEventImpl(Window.java:2478)
[run] at java.awt.Component.dispatchEvent(Component.java:4566)
[run] at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:680)
[run] at java.awt.EventQueue.access$000(EventQueue.java:86)
[run] at java.awt.EventQueue$1.run(EventQueue.java:639)
[run] at java.awt.EventQueue$1.run(EventQueue.java:637)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
[run] at java.awt.EventQueue$2.run(EventQueue.java:653)
[run] at java.awt.EventQueue$2.run(EventQueue.java:651)
[run] at java.security.AccessController.doPrivileged(Native Method)
[run] at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
[run] at java.awt.EventQueue.dispatchEvent(EventQueue.java:650)
[run] at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
[run] at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
[run] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
[run] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
[run] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
[run] at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

History

#1 Updated by Christopher Brooks almost 8 years ago

Fixed.

I'm in the process of updating the file browser dialogs to use
java.awt.FileDialog under Mac OS X so that users have a more native
look and feel. Other platforms will continue to use javax.swing.JFileChooser.
There is a property that can be set to control which browser is used,
see ptolemy.gui.PtGUIUtilities.

The problem is that under Mac OS X, java.awt.FileDialog.getFile() returns the file, but not the directory.

#2 Updated by Redmine Admin about 6 years ago

Original Bugzilla ID was 5414

Also available in: Atom PDF