--- a/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java Wed Dec 18 10:41:11 2013 +0000
+++ b/jdk/src/solaris/classes/sun/awt/X11/XDesktopPeer.java Wed Dec 18 11:01:33 2013 +0000
@@ -33,6 +33,9 @@
import java.awt.Desktop.Action;
import java.awt.peer.DesktopPeer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
@@ -43,6 +46,10 @@
*/
public class XDesktopPeer implements DesktopPeer {
+ // supportedActions may be changed from native within an init() call
+ private static final List<Action> supportedActions
+ = new ArrayList<>(Arrays.asList(Action.OPEN, Action.MAIL, Action.BROWSE));
+
private static boolean nativeLibraryLoaded = false;
private static boolean initExecuted = false;
@@ -65,11 +72,11 @@
static boolean isDesktopSupported() {
initWithLock();
- return nativeLibraryLoaded;
+ return nativeLibraryLoaded && !supportedActions.isEmpty();
}
public boolean isSupported(Action type) {
- return type != Action.PRINT && type != Action.EDIT;
+ return supportedActions.contains(type);
}
public void open(File file) throws IOException {