Specifying splash screen in bundle appears to completely screw up using FileDialog

Paul Taylor paul_t100 at fastmail.fm
Fri Nov 1 13:00:51 PDT 2013


After fixing a load of Java 7 related problems the last two days I was 
all set to do a new release of my application, but when I did final 
check of functionality I noticed that when using FileDialogs they were 
opening a slightly different view (not FileDialog not JFileChooser) and 
they were indicating busy whenever I selected a folder, and they stayed 
busy unless I selected another folder and the select the first folder 
again. this was  major regression so I spent all afternoon checking my 
FileDialog related code which had been changed looking for what I could 
have changed that would cause this, nothing seemed to fix it.

So I then started rebuilding my code from different svn checkins to try 
and find out where it goes wrong, and the culprit was adding a splash 
screen to the application bundle !

I did have this in appbundle ant file (and I'm sure I've specified it 
correctly because the application did correctly show the splash screen 
when built with this included )

<option value="-splash:$APP_ROOT/Contents/Java/splash.png"/>

simply removing it and rebuilding and FileDialog now works as intended, 
and Ive added it and taken it out and rebuilt each time to check this 
because I couldn't believe it first time.

How the two relate I do not know but I would assume splash screens are 
pretty common, and the link with FileDialogs is so obscure it will be 
difficult for developers to link the issues.

I then found
     https://bugs.openjdk.java.net/browse/JDK-8009203

which looks to be the same issue, but the comment
       'The issue exists from the jdk7u6 on OS X, so it is not a 
regression'
make no sense, it is  a regression if moving from Java 6 to Java 7

And the comment
           'It is unlikely that the client would notice the problem as 
it's quite unusual to open the FileChooser immediately after the 
application loads.'
used to justify no fix until jdk 9 is incorrect, the problem occurs 
however long you wait. This really should be fixed for Jdk 8 at least IMO.

thanks Paul


More information about the macosx-port-dev mailing list