jdk/src/java.desktop/share/classes/sun/swing/FilePane.java
changeset 28556 cebfefd140cc
parent 28231 b608ffcaed74
child 32865 f9cb6e427f9e
--- a/jdk/src/java.desktop/share/classes/sun/swing/FilePane.java	Mon Nov 03 08:30:18 2014 +0000
+++ b/jdk/src/java.desktop/share/classes/sun/swing/FilePane.java	Wed Nov 05 12:46:39 2014 +0400
@@ -1993,20 +1993,24 @@
             return false;
         }
 
-        if (f instanceof ShellFolder) {
-            return f.canWrite();
-        } else {
-            if (usesShellFolder(getFileChooser())) {
-                try {
-                    return ShellFolder.getShellFolder(f).canWrite();
-                } catch (FileNotFoundException ex) {
-                    // File doesn't exist
-                    return false;
+        try {
+            if (f instanceof ShellFolder) {
+                return f.canWrite();
+            } else {
+                if (usesShellFolder(getFileChooser())) {
+                    try {
+                        return ShellFolder.getShellFolder(f).canWrite();
+                    } catch (FileNotFoundException ex) {
+                        // File doesn't exist
+                        return false;
+                    }
+                } else {
+                    // Ordinary file
+                    return f.canWrite();
                 }
-            } else {
-                // Ordinary file
-                return f.canWrite();
             }
+        } catch (SecurityException e) {
+            return false;
         }
     }