jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
changeset 1962 6c293d33645b
parent 1190 f27065d0d9f0
child 1966 12a51fb0db0d
child 1967 a103c7d1eea6
--- a/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	Thu Sep 11 10:38:00 2008 +0400
+++ b/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	Tue Sep 16 12:17:02 2008 +0400
@@ -74,6 +74,10 @@
     // Dynamic Layout Resize client code setting
     protected static boolean dynamicLayoutSetting = false;
 
+    //Is it allowed to generate events assigned to extra mouse buttons.
+    //Set to true by default.
+    private static boolean areExtraMouseButtonsEnabled = true;
+
     /**
      * True when the x settings have been loaded.
      */
@@ -273,6 +277,9 @@
 
             arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(),
                 XCursorFontConstants.XC_arrow);
+            areExtraMouseButtonsEnabled = Boolean.parseBoolean(System.getProperty("sun.awt.enableExtraMouseButtons", "true"));
+            //set system property if not yet assigned
+            System.setProperty("sun.awt.enableExtraMouseButtons", ""+areExtraMouseButtonsEnabled);
         } finally {
             awtUnlock();
         }
@@ -1383,7 +1390,7 @@
         }
     }
 
-    private int getNumMouseButtons() {
+    public static int getNumMouseButtons() {
         awtLock();
         try {
             return XlibWrapper.XGetPointerMapping(XToolkit.getDisplay(), 0, 0);
@@ -2166,4 +2173,8 @@
     }
 
     public static native void setNoisyXErrorHandler();
+
+    public boolean areExtraMouseButtonsEnabled() throws HeadlessException {
+        return areExtraMouseButtonsEnabled;
+    }
 }