File tree Expand file tree Collapse file tree
src/main/java/fiji/plugin/trackmate/util Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2828import java .io .File ;
2929import java .io .FilenameFilter ;
3030import java .util .Locale ;
31+ import java .util .concurrent .atomic .AtomicBoolean ;
3132
3233import javax .swing .JFileChooser ;
3334import javax .swing .filechooser .FileFilter ;
@@ -176,19 +177,33 @@ else if ( parent != null && parent instanceof Dialog )
176177 /*
177178 * Try with a FilenameFilter (may silently fail).
178179 */
180+ final AtomicBoolean workedWithFilenameFilter = new AtomicBoolean ( false );
179181 if ( fileFilter != null )
180182 {
181183 final FilenameFilter filenameFilter = new FilenameFilter ()
182184 {
185+ private boolean firstTime = true ;
186+
183187 @ Override
184188 public boolean accept ( final File dir , final String name )
185189 {
190+ if ( firstTime )
191+ {
192+ workedWithFilenameFilter .set ( true );
193+ firstTime = false ;
194+ }
195+
186196 return fileFilter .accept ( new File ( dir , name ) );
187197 }
188198 };
189199 fd .setFilenameFilter ( filenameFilter );
190200 fd .setVisible ( true );
191201 }
202+ if ( fileFilter == null || ( isMac () && !workedWithFilenameFilter .get () ) )
203+ {
204+ fd .setFilenameFilter ( null );
205+ fd .setVisible ( true );
206+ }
192207
193208 final String filename = fd .getFile ();
194209 if ( filename != null )
You can’t perform that action at this time.
0 commit comments