Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4772834

FileOpenService is completely broken with 3rd party look and feels

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: P2 P2
    • 6
    • 1.2.0
    • deploy
    • x86
    • linux

      Name: nt126004 Date: 11/01/2002


      FULL PRODUCT VERSION :
      java version "1.4.1"
      Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
      Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)

      FULL OPERATING SYSTEM VERSION :
      Linux 2.4.18, glibc-2.2.5, Mandrake 8.2.
       
      ADDITIONAL OPERATING SYSTEMS :


      A DESCRIPTION OF THE PROBLEM :
      There is no possible way of using FileOpenService.
      Any combination of arguments to the FileOpenService
      openFileDialog() method fail with access denied.

      Yes. I have spent many hours on this since I submitted the bug report. I now
      know why it works for you and fails for me. What is broken is not only the
      FileOpenService, and FileSaveService, but potentially anything that triggers
      JWS to bring up a Security Dialog. Below is a more detailed explanation,
      along with some code samples you can use to reproduct the problem. Also
      included are similar Sun bug reports and why those fixes do not apply.

      Username Dietz (is he one of the JWS developers?) in Sun's Java Web Start
      forums mentioned that when JWS brings up a Security dialog JWS starts up a
      separate AppContext. This may be the whole problem. Apparently JWS does this
      so no 3rd party look and feel could take control of the security dialog and
      automatically (or secretly) select "Yes". Pretty smart! However, the new
      AppContext may be running in a separate ClassLoader, or perhaps it is
      resetting the UIManager ClassLoader property to ensure the default Metal look
      and feel runs the security dialog and forgets to set the UIManager
      ClassLoader back.

      As you see from the exception, the 3rd party look and feel code is getting
      access violations because _I suspect_ it is running in the wrong ClassLoader.

      I have tried many ways of setting the UIManager ClassLoader property, even
      forcing the UIDefaults properties to map the 3rd party registered
      UIComponents to class files instead of string names (so UIManager will not
      use Class.forName()) but this fails too.

      Here is the code you need to reproduce the problem: Insert it before you use
      the FileOpenService

      ClassLoader jwsClassLoader = this.getClass().getClassLoader();
      UIManager.put("ClassLoader", jwsClassLoader);
      SlafLookAndFeel slaf = new
      SlafLookAndFeel("com.memoire.slaf.SlafLookAndFeel");
      UIManager.setLookAndFeel(slaf);

      You can find slaf (any 3rd party look and feel will fail) at:
      http://www.memoire.com/guillaume-desnoix/slaf/

      I tried to set the UIDefault component mappings like this:
                  // This doesn't work
                  // http://www.gargoylesoftware.com/papers/bug12b4classloader.html
                  Hashtable tb = UIManager.getDefaults();
                  tb.put("ClassLoader", jwsClassLoader);
                  Enumeration e = tb.keys();
                  while (e.hasMoreElements()) {
                      Object obj = e.nextElement();
                      if (! (obj instanceof String))
                          continue;
                      String k = (String)obj;
                      if (k.endsWith("UI")) {
                          Class uic;
                          try {
                              uic = jwsClassLoader.loadClass(tb.get(k).toString());
                          } catch(Exception ex) {
                              // classnotfound...
                              continue;
                          }
                          tb.put(uic.getName(), uic);
                      }
                  }

      But it didn't work. I'm pretty sure it's because of the AppContext issue I
      described above. Likely someone familiar with the JWS internals and how it
      uses AppContext would be able to confirm this in 5 minutes.

      Since this bug means no 3rd party look and feel can work reliably in JWS (if
      the FileOpenService/FileSaveService (others?)) are used I hope this bug can
      be made a high priority.


      REGRESSION. Last worked in version 1.0.1

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      1. Get the FileOpenService
      2. call its openFileDialog() method.
      3. Click 'Yes' to allow permission to the FileChooser
      4. Watch the exception.


      EXPECTED VERSUS ACTUAL BEHAVIOR :
      I expected to be able to browser the hard drive. What
      happened is the FileChooser gets access denied exceptions.

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      java.security.AccessControlException: access denied (java.io.FilePermission /tmp
      read)
          at
      java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
          at java.security.AccessController.checkPermission(AccessController.java:401)
      at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
          at java.lang.SecurityManager.checkRead(SecurityManager.java:887)
      at java.io.File.exists(File.java:677)
          at sun.awt.shell.ShellFolder.exists(ShellFolder.java:257) at
      javax.swing.filechooser.FileSystemView.getSystemDisplayName(FileSystemVie
      w.java:140) at
      javax.swing.plaf.basic.BasicFileChooserUI$BasicFileView.getName(BasicFile
      ChooserUI.java:1005) at
      javax.swing.JFileChooser.getName(JFileChooser.java:1437)
          at
      javax.swing.plaf.metal.MetalFileChooserUI$DirectoryComboBoxRenderer.getListCellRendererComponent(MetalFileChooserUI.java:1553)
          at
      javax.swing.plaf.metal.MetalComboBoxButton.paintComponent(MetalComboBoxButton.java:150)
          at
      com.incors.plaf.kunststoff.KunststoffComboBoxUI$MyMetalComboBoxButton.paintComponent(KunststoffComboBoxUI.java:60)
          at javax.swing.JComponent.paint(JComponent.java:808) at
      javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817) at
      javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817) at
      javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817) at
      javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817) at
      javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817) at
      javax.swing.JLayeredPane.paint(JLayeredPane.java:552)
          at javax.swing.JComponent.paintChildren(JComponent.java:647) at
      javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4778)
          at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4724)
      at javax.swing.JComponent.paint(JComponent.java:798)
          at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:21)
      at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:60)
          at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:97)
      at java.awt.Container.paint(Container.java:1309)
          at sun.awt.RepaintArea.paint(RepaintArea.java:177) at
      sun.awt.motif.MComponentPeer.handleEvent(MComponentPeer.java:374)
          at java.awt.Component.dispatchEventImpl(Component.java:3658) at
      java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Window.dispatchEventImpl(Window.java:1585) at
      java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450) at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread
      .java:197) at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.j
      ava:150) at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.j
      ava:140) at
      java.awt.Dialog.show(Dialog.java:538)
          at javax.swing.JFileChooser.showDialog(JFileChooser.java:696) at
      javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:599)
          at com.sun.jnlp.FileOpenServiceImpl$1.run(FileOpenServiceImpl.java:93)
      at java.security.AccessController.doPrivileged(Native Method)
          at
      com.sun.jnlp.FileOpenServiceImpl.openFileDialog(FileOpenServiceImpl.java:73)
          at
      com.wss.calendar.client.swing.InfoHTML.jButtonUpload_actionPerformed(InfoHTML.java:160)
          at com.wss.calendar.client.swing.InfoHTML$3.actionPerformed(InfoHTML.java:92)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractBu
      tton.java:1817) at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.jav
      a:419) at
      javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:140)
          at java.awt.Dialog.show(Dialog.java:538)
          at java.awt.Component.show(Component.java:1134)
          at java.awt.Component.setVisible(Component.java:1089)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.showInfoView(ScheduleWorldFrame.java:2139)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.jMenuItem14_actionPerformed(ScheduleWorldFrame.java:2124)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame$47.actionPerformed(ScheduleWorldFrame.java:1088)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
          at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
          at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
          at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
          at
      javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
          at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
      Exception occurred during event dispatching:
      java.security.AccessControlException: access denied (java.io.FilePermission
      /tmp/kde-mswanson read)
          at
      java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
          at java.security.AccessController.checkPermission(AccessController.java:401)
          at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
          at java.lang.SecurityManager.checkRead(SecurityManager.java:887)
          at java.io.File.exists(File.java:677)
          at sun.awt.shell.ShellFolder.exists(ShellFolder.java:257)
          at
      javax.swing.filechooser.FileSystemView.getSystemDisplayName(FileSystemView.java:140)
          at
      javax.swing.plaf.basic.BasicFileChooserUI$BasicFileView.getName(BasicFileChooserUI.java:1005)
          at javax.swing.JFileChooser.getName(JFileChooser.java:1437)
          at
      javax.swing.plaf.metal.MetalFileChooserUI$FileRenderer.getListCellRendererComponent(MetalFileChooserUI.java:1127)
          at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1147)
          at
      javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1097)
          at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:162)
          at com.incors.plaf.kunststoff.KunststoffListUI.update(KunststoffListUI.java:72)
          at javax.swing.JComponent.paintComponent(JComponent.java:541)
          at javax.swing.JComponent.paint(JComponent.java:808)
          at javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817)
          at javax.swing.JViewport.paint(JViewport.java:707)
          at javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817)
          at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4771)
          at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4724)
          at javax.swing.JComponent._paintImmediately(JComponent.java:4668)
          at javax.swing.JComponent.paintImmediately(JComponent.java:4477)
          at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
          at
      javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
          at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.jav
      ###@###.### 10/4/04 19:21 GMT
      a:140)
          at java.awt.Dialog.show(Dialog.java:538)
          at javax.swing.JFileChooser.showDialog(JFileChooser.java:696)
          at javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:599)
          at com.sun.jnlp.FileOpenServiceImpl$1.run(FileOpenServiceImpl.java:93)
          at java.security.AccessController.doPrivileged(Native Method)
          at
      com.sun.jnlp.FileOpenServiceImpl.openFileDialog(FileOpenServiceImpl.java:73)
          at
      com.wss.calendar.client.swing.InfoHTML.jButtonUpload_actionPerformed(InfoHTML.java:160)
          at com.wss.calendar.client.swing.InfoHTML$3.actionPerformed(InfoHTML.java:92)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
          at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
          at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:140)
          at java.awt.Dialog.show(Dialog.java:538)
          at java.awt.Component.show(Component.java:1134)
          at java.awt.Component.setVisible(Component.java:1089)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.showInfoView(ScheduleWorldFrame.java:2139)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.jMenuItem14_actionPerformed(ScheduleWorldFrame.java:2124)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame$47.actionPerformed(ScheduleWorldFrame.java:1088)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
          at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
          at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
          at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
          at
      javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
          at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)
      Exception occurred during event dispatching:
      java.security.AccessControlException: access denied (java.io.FilePermission
      /tmp/kde-mswanson read)
          at
      java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
          at java.security.AccessController.checkPermission(AccessController.java:401)
          at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
          at java.lang.SecurityManager.checkRead(SecurityManager.java:887)
          at java.io.File.exists(File.java:677)
          at sun.awt.shell.ShellFolder.exists(ShellFolder.java:257)
          at
      javax.swing.filechooser.FileSystemView.getSystemDisplayName(FileSystemView.java:140)
          at
      javax.swing.plaf.basic.BasicFileChooserUI$BasicFileView.getName(BasicFileChooserUI.java:1005)
          at javax.swing.JFileChooser.getName(JFileChooser.java:1437)
          at
      javax.swing.plaf.metal.MetalFileChooserUI$FileRenderer.getListCellRendererComponent(MetalFileChooserUI.java:1127)
          at javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:126)
          at com.incors.plaf.kunststoff.KunststoffListUI.paintCell(KunststoffListUI.java:86)
          at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:215)
          at com.incors.plaf.kunststoff.KunststoffListUI.update(KunststoffListUI.java:72)
          at javax.swing.JComponent.paintComponent(JComponent.java:541)
          at javax.swing.JComponent.paint(JComponent.java:808)
          at javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817)
          at javax.swing.JViewport.paint(JViewport.java:707)
          at javax.swing.JComponent.paintChildren(JComponent.java:647)
          at javax.swing.JComponent.paint(JComponent.java:817)
          at javax.swing.JComponent.paintWithOffscreenBuffer(JComponent.java:4771)
          at javax.swing.JComponent.paintDoubleBuffered(JComponent.java:4724)
          at javax.swing.JComponent._paintImmediately(JComponent.java:4668)
          at javax.swing.JComponent.paintImmediately(JComponent.java:4477)
          at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:410)
          at
      javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:117)
          at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:448)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:140)
          at java.awt.Dialog.show(Dialog.java:538)
          at javax.swing.JFileChooser.showDialog(JFileChooser.java:696)
          at javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:599)
          at com.sun.jnlp.FileOpenServiceImpl$1.run(FileOpenServiceImpl.java:93)
          at java.security.AccessController.doPrivileged(Native Method)
          at
      com.sun.jnlp.FileOpenServiceImpl.openFileDialog(FileOpenServiceImpl.java:73)
          at
      com.wss.calendar.client.swing.InfoHTML.jButtonUpload_actionPerformed(InfoHTML.java:160)
          at com.wss.calendar.client.swing.InfoHTML$3.actionPerformed(InfoHTML.java:92)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
          at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
          at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at
      javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:140)
          at java.awt.Dialog.show(Dialog.java:538)
          at java.awt.Component.show(Component.java:1134)
          at java.awt.Component.setVisible(Component.java:1089)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.showInfoView(ScheduleWorldFrame.java:2139)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame.jMenuItem14_actionPerformed(ScheduleWorldFrame.java:2124)
          at
      com.wss.calendar.client.swing.ScheduleWorldFrame$47.actionPerformed(ScheduleWorldFrame.java:1088)
          at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764)
          at
      javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1817)
          at
      javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419)
          at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257)
          at javax.swing.AbstractButton.doClick(AbstractButton.java:289)
          at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1109)
          at
      javax.swing.plaf.basic.BasicMenuItemUI$MouseInputHandler.mouseReleased(BasicMenuItemUI.java:943)
          at java.awt.Component.processMouseEvent(Component.java:5093)
          at java.awt.Component.processEvent(Component.java:4890)
          at java.awt.Container.processEvent(Container.java:1566)
          at java.awt.Component.dispatchEventImpl(Component.java:3598)
          at java.awt.Container.dispatchEventImpl(Container.java:1623)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3450)
          at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3165)
          at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3095)
          at java.awt.Container.dispatchEventImpl(Container.java:1609)
          at java.awt.Window.dispatchEventImpl(Window.java:1585)
          at java.awt.Component.dispatchEvent(Component.java:3439)
          at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)
          at
      java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)
          at
      java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)
          at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)
          at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
      String pathHint = null; // for now
              //String[] extensions = { "jpg", "jpeg", "png" };
              String[] extensions = {};
              try {
                  FileOpenService fos = jwsHelper.getFileOpenService();
                  //FileContents[] fc = fos.openMultiFileDialog(pathHint, extensions);
                  FileContents fc = fos.openFileDialog("/tmp", extensions);

      ---------- END SOURCE ----------

      CUSTOMER WORKAROUND :
      none exist
      (Review ID: 166007)
      ======================================================================

            herrick Andy Herrick (Inactive)
            nthompsosunw Nathanael Thompson (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: