changeset 2911:8ad13dc5ad87

Work with latest upstream, post security fixes. 2012-09-19 Andrew John Hughes <ahughes@redhat.com> * patches/openjdk/7185678-xmenuitem_peer_npe.patch, * patches/security/20120830/7162476-xmldecoder_via_classfinder.patch, * patches/security/20120830/7163201-simplify_toolkit_internal_references.patch: Removed; upstream. * Makefile.am: (SECURITY_PATCHES): Drop patches available upstream. (ICEDTEA_PATCHES): Likewise. * patches/merge_fix.patch, * patches/nomotif-6706121.patch, * patches/openjdk/6633275-shaped_translucent_windows.patch, * patches/openjdk/6797195-hw_lw_mixing.patch: Regenerated against upstream.
author Andrew John Hughes <ahughes@redhat.com>
date Wed, 19 Sep 2012 17:06:14 +0100
parents 7f9b1d08b2c5
children 99dd5321a045
files ChangeLog Makefile.am patches/merge_fix.patch patches/nomotif-6706121.patch patches/openjdk/6633275-shaped_translucent_windows.patch patches/openjdk/6797195-hw_lw_mixing.patch patches/openjdk/7185678-xmenuitem_peer_npe.patch patches/security/20120830/7162476-xmldecoder_via_classfinder.patch patches/security/20120830/7163201-simplify_toolkit_internal_references.patch
diffstat 9 files changed, 663 insertions(+), 6639 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Sep 10 17:48:48 2012 +0100
+++ b/ChangeLog	Wed Sep 19 17:06:14 2012 +0100
@@ -1,3 +1,18 @@
+2012-09-19  Andrew John Hughes  <ahughes@redhat.com>
+
+	* patches/openjdk/7185678-xmenuitem_peer_npe.patch,
+	* patches/security/20120830/7162476-xmldecoder_via_classfinder.patch,
+	* patches/security/20120830/7163201-simplify_toolkit_internal_references.patch:
+	Removed; upstream.
+	* Makefile.am:
+	(SECURITY_PATCHES): Drop patches available upstream.
+	(ICEDTEA_PATCHES): Likewise.
+	* patches/merge_fix.patch,
+	* patches/nomotif-6706121.patch,
+	* patches/openjdk/6633275-shaped_translucent_windows.patch,
+	* patches/openjdk/6797195-hw_lw_mixing.patch:
+	Regenerated against upstream.
+
 2012-09-03  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (ICEDTEA_PATCHES): Add missing backslash after
--- a/Makefile.am	Mon Sep 10 17:48:48 2012 +0100
+++ b/Makefile.am	Wed Sep 19 17:06:14 2012 +0100
@@ -194,8 +194,6 @@
 ICEDTEA_FSG_PATCHES =
 
 SECURITY_PATCHES = \
-	patches/security/20120830/7162476-xmldecoder_via_classfinder.patch \
-	patches/security/20120830/7163201-simplify_toolkit_internal_references.patch \
 	patches/security/20120830/7182135-impossible_to_use_some_editors_directly.patch
 
 SPECIAL_SECURITY_PATCH = patches/security/20120214/7112642.patch
@@ -417,7 +415,6 @@
 	patches/openjdk/p11cipher-6924489-ckr_operation_not_initialized.patch \
 	patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch \
 	patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch \
-	patches/openjdk/7185678-xmenuitem_peer_npe.patch \
 	patches/merge_fix.patch
 
 if WITH_RHINO
--- a/patches/merge_fix.patch	Mon Sep 10 17:48:48 2012 +0100
+++ b/patches/merge_fix.patch	Wed Sep 19 17:06:14 2012 +0100
@@ -1,26 +1,280 @@
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Window.java openjdk/jdk/src/share/classes/java/awt/Window.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2012-08-31 12:37:54.732223754 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Window.java	2012-08-31 12:40:01.526031381 +0100
-@@ -3516,11 +3516,7 @@
-             public void setTrayIconWindow(Window window, boolean state) {
-                 window.isTrayIconWindow = state;
+--- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:30:11.949624069 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:33:18.101297411 +0100
+@@ -362,6 +362,70 @@
+             public void setLWRequestStatus(Window changed, boolean status) {
+                 changed.syncLWRequests = status;
              }
--         });
--     }
++            public float getOpacity(Window window) {
++                return window.opacity;
++            }
++            public void setOpacity(Window window, float opacity) {
++                window.setOpacity(opacity);
++            }
++            public Shape getShape(Window window) {
++                return window.getShape();
++            }
++            public void setShape(Window window, Shape shape) {
++                window.setShape(shape);
++            }
++            public boolean isOpaque(Window window) {
++                /*
++                return window.getBackground().getAlpha() < 255;
++                */
++                synchronized (window.getTreeLock()) {
++                    return window.opaque;
++                }
++            }
++            public void setOpaque(Window window, boolean opaque) {
++                /*
++                Color bg = window.getBackground();
++                window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
++                                               opaque ? 255 : 0));
++                */
++                window.setOpaque(opaque);
++            }
++            public void updateWindow(Window window, BufferedImage backBuffer) {
++                window.updateWindow(backBuffer);
++            }
++
++            public Dimension getSecurityWarningSize(Window window) {
++                return new Dimension(window.securityWarningWidth,
++                        window.securityWarningHeight);
++            }
++
++            public void setSecurityWarningSize(Window window, int width, int height)
++            {
++                window.securityWarningWidth = width;
++                window.securityWarningHeight = height;
++            }
++
++            public void setSecurityWarningPosition(Window window,
++                    Point2D point, float alignmentX, float alignmentY)
++            {
++                window.securityWarningPointX = point.getX();
++                window.securityWarningPointY = point.getY();
++                window.securityWarningAlignmentX = alignmentX;
++                window.securityWarningAlignmentY = alignmentY;
++
++                synchronized (window.getTreeLock()) {
++                    WindowPeer peer = (WindowPeer)window.getPeer();
++                    if (peer != null) {
++                        peer.repositionSecurityWarning();
++                    }
++                }
++            }
++
++            public Point2D calculateSecurityWarningPosition(Window window,
++                    double x, double y, double w, double h)
++            {
++                return window.calculateSecurityWarningPosition(x, y, w, h);
++            }
+         });
+     }
+ 
+@@ -3504,75 +3568,6 @@
+                 y + h * securityWarningAlignmentY + securityWarningPointY);
+     }
  
 -    static {
 -        AWTAccessor.setWindowAccessor(new AWTAccessor.WindowAccessor() {
-             public float getOpacity(Window window) {
-                 return window.opacity;
-             }
+-            public float getOpacity(Window window) {
+-                return window.opacity;
+-            }
+-            public void setOpacity(Window window, float opacity) {
+-                window.setOpacity(opacity);
+-            }
+-            public Shape getShape(Window window) {
+-                return window.getShape();
+-            }
+-            public void setShape(Window window, Shape shape) {
+-                window.setShape(shape);
+-            }
+-            public boolean isOpaque(Window window) {
+-                /*
+-                return window.getBackground().getAlpha() < 255;
+-                */
+-                synchronized (window.getTreeLock()) {
+-                    return window.opaque;
+-                }
+-            }
+-            public void setOpaque(Window window, boolean opaque) {
+-                /*
+-                Color bg = window.getBackground();
+-                window.setBackground(new Color(bg.getRed(), bg.getGreen(), bg.getBlue(),
+-                                               opaque ? 255 : 0));
+-                */
+-                window.setOpaque(opaque);
+-            }
+-            public void updateWindow(Window window, BufferedImage backBuffer) {
+-                window.updateWindow(backBuffer);
+-            }
+-
+-            public Dimension getSecurityWarningSize(Window window) {
+-                return new Dimension(window.securityWarningWidth,
+-                        window.securityWarningHeight);
+-            }
+-
+-            public void setSecurityWarningSize(Window window, int width, int height)
+-            {
+-                window.securityWarningWidth = width;
+-                window.securityWarningHeight = height;
+-            }
+-
+-            public void setSecurityWarningPosition(Window window,
+-                    Point2D point, float alignmentX, float alignmentY)
+-            {
+-                window.securityWarningPointX = point.getX();
+-                window.securityWarningPointY = point.getY();
+-                window.securityWarningAlignmentX = alignmentX;
+-                window.securityWarningAlignmentY = alignmentY;
+-
+-                synchronized (window.getTreeLock()) {
+-                    WindowPeer peer = (WindowPeer)window.getPeer();
+-                    if (peer != null) {
+-                        peer.repositionSecurityWarning();
+-                    }
+-                }
+-            }
+-
+-            public Point2D calculateSecurityWarningPosition(Window window,
+-                    double x, double y, double w, double h)
+-            {
+-                return window.calculateSecurityWarningPosition(x, y, w, h);
+-            }
+-        }); // WindowAccessor
+-    } // static
+-
+ } // class Window
+ 
+ 
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-08-31 12:38:42.276918679 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-08-31 12:39:28.277567706 +0100
-@@ -29,6 +29,7 @@
- import java.awt.event.InputEvent;
- import java.awt.event.KeyEvent;
- import java.awt.geom.Point2D;
+--- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:30:11.949624069 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:57:03.147675653 +0100
+@@ -26,6 +26,8 @@
+ package sun.awt;
+ 
+ import java.awt.*;
++import java.awt.geom.Point2D;
 +import java.awt.image.BufferedImage;
  
  import sun.misc.Unsafe;
- import java.awt.peer.ComponentPeer;
+ 
+@@ -63,6 +65,55 @@
+          * components in the specified window to the specified value.
+          */
+         void setLWRequestStatus(Window changed, boolean status);
++        /*
++         * Get opacity level of the given window.
++         */
++        float getOpacity(Window window);
++        /*
++         * Set opacity level to the given window.
++         */
++        void setOpacity(Window window, float opacity);
++        /*
++         * Get a shape assigned to the given window.
++         */
++        Shape getShape(Window window);
++        /*
++         * Set a shape to the given window.
++         */
++        void setShape(Window window, Shape shape);
++        /*
++         * Identify whether the given window is opaque (true)
++         *  or translucent (false).
++         */
++        boolean isOpaque(Window window);
++        /*
++         * Set the opaque preoperty to the given window.
++         */
++        void setOpaque(Window window, boolean isOpaque);
++        /*
++         * Update the image of a non-opaque (translucent) window.
++         */
++        void updateWindow(Window window, BufferedImage backBuffer);
++
++        /** Get the size of the security warning.
++         */
++        Dimension getSecurityWarningSize(Window w);
++
++        /**
++         * Set the size of the security warning.
++         */
++        void setSecurityWarningSize(Window w, int width, int height);
++
++        /** Set the position of the security warning.
++         */
++        void setSecurityWarningPosition(Window w, Point2D point,
++                float alignmentX, float alignmentY);
++
++        /** Request to recalculate the new position of the security warning for
++         * the given window size/location as reported by the native system.
++         */
++        Point2D calculateSecurityWarningPosition(Window window,
++                double x, double y, double w, double h);
+     }
+ 
+     /*
+@@ -147,61 +198,6 @@
+     }
+ 
+     /*
+-     * An interface of accessor for java.awt.Window class.
+-     */
+-    public interface WindowAccessor {
+-        /*
+-         * Get opacity level of the given window.
+-         */
+-        float getOpacity(Window window);
+-        /*
+-         * Set opacity level to the given window.
+-         */
+-        void setOpacity(Window window, float opacity);
+-        /*
+-         * Get a shape assigned to the given window.
+-         */
+-        Shape getShape(Window window);
+-        /*
+-         * Set a shape to the given window.
+-         */
+-        void setShape(Window window, Shape shape);
+-        /*
+-         * Identify whether the given window is opaque (true)
+-         *  or translucent (false).
+-         */
+-        boolean isOpaque(Window window);
+-        /*
+-         * Set the opaque preoperty to the given window.
+-         */
+-        void setOpaque(Window window, boolean isOpaque);
+-        /*
+-         * Update the image of a non-opaque (translucent) window.
+-         */
+-        void updateWindow(Window window, BufferedImage backBuffer);
+-
+-        /** Get the size of the security warning.
+-         */
+-        Dimension getSecurityWarningSize(Window w);
+-
+-        /**
+-         * Set the size of the security warning.
+-         */
+-        void setSecurityWarningSize(Window w, int width, int height);
+-
+-        /** Set the position of the security warning.
+-         */
+-        void setSecurityWarningPosition(Window w, Point2D point,
+-                float alignmentX, float alignmentY);
+-
+-        /** Request to recalculate the new position of the security warning for
+-         * the given window size/location as reported by the native system.
+-         */
+-        Point2D calculateSecurityWarningPosition(Window window,
+-                double x, double y, double w, double h);
+-    }
+-
+-    /*
+      * An accessor for the AWTEvent class.
+      */
+     public interface AWTEventAccessor {
--- a/patches/nomotif-6706121.patch	Mon Sep 10 17:48:48 2012 +0100
+++ b/patches/nomotif-6706121.patch	Wed Sep 19 17:06:14 2012 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/sun/awt/FILES_c_unix.gmk openjdk/jdk/make/sun/awt/FILES_c_unix.gmk
---- openjdk.orig/jdk/make/sun/awt/FILES_c_unix.gmk	2011-11-14 22:11:40.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk	2012-08-31 12:03:21.902641410 +0100
+--- openjdk.orig/jdk/make/sun/awt/FILES_c_unix.gmk	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/sun/awt/FILES_c_unix.gmk	2012-09-19 14:26:46.277536336 +0100
 @@ -142,59 +142,59 @@
  # These files rely on motif to be built, and should not be included
  # in a headless build.
@@ -115,8 +115,8 @@
  
  # These files are required to be built, with or without motif.  Some of
 diff -Nru openjdk.orig/jdk/make/sun/awt/FILES_export_unix.gmk openjdk/jdk/make/sun/awt/FILES_export_unix.gmk
---- openjdk.orig/jdk/make/sun/awt/FILES_export_unix.gmk	2012-08-31 12:00:37.508379799 +0100
-+++ openjdk/jdk/make/sun/awt/FILES_export_unix.gmk	2012-08-31 12:03:21.918641631 +0100
+--- openjdk.orig/jdk/make/sun/awt/FILES_export_unix.gmk	2012-09-19 14:25:48.912390535 +0100
++++ openjdk/jdk/make/sun/awt/FILES_export_unix.gmk	2012-09-19 14:26:46.289536573 +0100
 @@ -60,48 +60,15 @@
  	sun/awt/image/DataBufferNative.java \
  	\
@@ -183,8 +183,8 @@
 +	sun/awt/CausedFocusEvent.java
  
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers openjdk/jdk/make/sun/awt/mapfile-mawt-vers
---- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2012-08-31 12:00:37.800383804 +0100
-+++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2012-08-31 12:03:21.918641631 +0100
+--- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2012-09-19 14:25:49.104394370 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2012-09-19 14:26:46.293536653 +0100
 @@ -31,7 +31,7 @@
  	global:
  		JNI_OnLoad;
@@ -717,8 +717,8 @@
  		Java_sun_awt_motif_MToolkitThreadBlockedHandler_exit;
  		Java_sun_awt_X11GraphicsConfig_init;
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux openjdk/jdk/make/sun/awt/mapfile-vers-linux
---- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2012-08-31 12:00:37.800383804 +0100
-+++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2012-08-31 12:03:21.918641631 +0100
+--- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2012-09-19 14:25:49.104394370 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2012-09-19 14:26:46.293536653 +0100
 @@ -169,7 +169,7 @@
  		GrPrim_Sg2dGetPixel;
  		GrPrim_Sg2dGetLCDTextContrast;
@@ -1240,8 +1240,8 @@
  		awt_lock;
  		awt_Lock;
 diff -Nru openjdk.orig/jdk/make/sun/awt/mawt.gmk openjdk/jdk/make/sun/awt/mawt.gmk
---- openjdk.orig/jdk/make/sun/awt/mawt.gmk	2011-11-14 22:11:40.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/mawt.gmk	2012-08-31 12:03:21.918641631 +0100
+--- openjdk.orig/jdk/make/sun/awt/mawt.gmk	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/sun/awt/mawt.gmk	2012-09-19 14:26:46.293536653 +0100
 @@ -28,14 +28,6 @@
  #
  INIT += $(LIB_LOCATION) 
@@ -1395,8 +1395,8 @@
  endif # !HEADLESS
  
 diff -Nru openjdk.orig/jdk/make/sun/jawt/Makefile openjdk/jdk/make/sun/jawt/Makefile
---- openjdk.orig/jdk/make/sun/jawt/Makefile	2011-11-14 22:11:41.000000000 +0000
-+++ openjdk/jdk/make/sun/jawt/Makefile	2012-08-31 12:03:21.922641686 +0100
+--- openjdk.orig/jdk/make/sun/jawt/Makefile	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/sun/jawt/Makefile	2012-09-19 14:26:46.293536653 +0100
 @@ -99,7 +99,6 @@
  # Other extra flags needed for compiling.
  #
@@ -1406,7 +1406,7 @@
              -I$(SHARE_SRC)/native/$(PKGDIR)/image \
  	    -I$(SHARE_SRC)/native/$(PKGDIR)/image/cvutils \
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MButtonPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MButtonPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MButtonPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MButtonPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MButtonPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,97 +0,0 @@
 -/*
@@ -1507,7 +1507,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCanvasPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MCanvasPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCanvasPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCanvasPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MCanvasPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,113 +0,0 @@
 -/*
@@ -1624,7 +1624,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MCheckboxMenuItemPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,93 +0,0 @@
 -/*
@@ -1721,7 +1721,7 @@
 -    } // action()
 -} // class MCheckboxMenuItemPeer
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MCheckboxPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,187 +0,0 @@
 -/*
@@ -1912,7 +1912,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MChoicePeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MChoicePeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MChoicePeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MChoicePeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MChoicePeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,177 +0,0 @@
 -/*
@@ -2093,9 +2093,9 @@
 -    private native void freeNativeData();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java	2012-08-31 12:00:36.988372667 +0100
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java	2012-08-31 11:18:57.975637791 +0100
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java	1970-01-01 01:00:00.000000000 +0100
-@@ -1,1171 +0,0 @@
+@@ -1,1173 +0,0 @@
 -/*
 - * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
 - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -2495,6 +2495,8 @@
 -        }
 -    }
 -
+-    static Method requestFocusWithCause;
+-
 -    static void callRequestFocusInWindow(Component target, CausedFocusEvent.Cause cause) {
 -        AWTAccessor.getComponentAccessor().requestFocusInWindow(target, cause);
 -    }
@@ -3268,7 +3270,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCustomCursor.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MCustomCursor.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCustomCursor.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MCustomCursor.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MCustomCursor.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,68 +0,0 @@
 -/*
@@ -3340,7 +3342,7 @@
 -    private native static void cacheInit();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDataTransferer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MDataTransferer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDataTransferer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDataTransferer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MDataTransferer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,386 +0,0 @@
 -/*
@@ -3730,7 +3732,7 @@
 -    protected native String[] dragQueryFile(byte[] bytes);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDialogPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MDialogPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDialogPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDialogPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MDialogPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,110 +0,0 @@
 -/*
@@ -3844,7 +3846,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MDragSourceContextPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,120 +0,0 @@
 -/*
@@ -3968,7 +3970,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MDropTargetContextPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,147 +0,0 @@
 -/*
@@ -4119,7 +4121,7 @@
 -                                 boolean localTx, boolean success, int dropAction);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbedCanvasPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,584 +0,0 @@
 -/*
@@ -4707,7 +4709,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFrame.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,141 +0,0 @@
 -/*
@@ -4852,7 +4854,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MEmbeddedFramePeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,213 +0,0 @@
 -/*
@@ -5069,7 +5071,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MFileDialogPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,300 +0,0 @@
 -/*
@@ -5373,7 +5375,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFramePeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MFramePeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFramePeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MFramePeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MFramePeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,511 +0,0 @@
 -/*
@@ -5888,7 +5890,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MGlobalCursorManager.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,118 +0,0 @@
 -/*
@@ -6010,7 +6012,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodControl.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethodControl.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodControl.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodControl.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethodControl.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,73 +0,0 @@
 -/*
@@ -6087,7 +6089,7 @@
 -    void removeInputMethod(MInputMethod inputMethod);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethodDescriptor.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,48 +0,0 @@
 -/*
@@ -6139,7 +6141,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethod.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethod.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethod.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MInputMethod.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MInputMethod.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,177 +0,0 @@
 -/*
@@ -6320,7 +6322,7 @@
 -                                    boolean value, boolean active);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MLabelPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MLabelPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MLabelPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MLabelPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MLabelPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,104 +0,0 @@
 -/*
@@ -6428,7 +6430,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MListPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MListPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MListPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MListPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MListPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,390 +0,0 @@
 -/*
@@ -6822,7 +6824,7 @@
 -                                       int wheelRotation);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuBarPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,192 +0,0 @@
 -/*
@@ -7018,7 +7020,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuItemPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,190 +0,0 @@
 -/*
@@ -7212,7 +7214,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMenuPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MMenuPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,83 +0,0 @@
 -/*
@@ -7299,7 +7301,7 @@
 -    native void pDispose();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MMouseDragGestureRecognizer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,233 +0,0 @@
 -/*
@@ -7536,7 +7538,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPanelPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MPanelPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPanelPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPanelPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MPanelPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,201 +0,0 @@
 -/*
@@ -7741,7 +7743,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MPopupMenuPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,132 +0,0 @@
 -/*
@@ -7877,7 +7879,7 @@
 -    native void pDispose();
 -} // class MPopupMenuPeer
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MRobotPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MRobotPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MRobotPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MRobotPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MRobotPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,96 +0,0 @@
 -/*
@@ -7977,7 +7979,7 @@
 -    private static native synchronized void getRGBPixelsImpl(X11GraphicsConfig xgc, int x, int y, int width, int height, int pixelArray[]);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MScrollbarPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,187 +0,0 @@
 -/*
@@ -8168,7 +8170,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MScrollPanePeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,411 +0,0 @@
 -/*
@@ -8583,7 +8585,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MTextAreaPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,555 +0,0 @@
 -/*
@@ -9142,7 +9144,7 @@
 -    int pos;
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MTextFieldPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,356 +0,0 @@
 -/*
@@ -9502,8 +9504,8 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	2011-11-14 22:12:14.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	2012-08-31 12:03:21.930641797 +0100
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	2011-01-07 21:33:04.000000000 +0000
++++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MToolkit.java	2012-09-19 14:26:46.301536816 +0100
 @@ -60,12 +60,12 @@
  import java.awt.dnd.InvalidDnDOperationException;
  import java.awt.dnd.peer.DragSourceContextPeer;
@@ -9898,7 +9900,7 @@
  
      static boolean useMotifDnD() {
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MWindowPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/MWindowPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MWindowPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/MWindowPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MWindowPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,602 +0,0 @@
 -/*
@@ -10504,7 +10506,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Clipboard.java openjdk/jdk/src/solaris/classes/sun/awt/motif/X11Clipboard.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Clipboard.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Clipboard.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/X11Clipboard.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,151 +0,0 @@
 -/*
@@ -10659,7 +10661,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/X11DragSourceContextPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,131 +0,0 @@
 -/*
@@ -10794,7 +10796,7 @@
 -
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java openjdk/jdk/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/X11DropTargetContextPeer.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,167 +0,0 @@
 -/*
@@ -10965,7 +10967,7 @@
 -    private native Object getData(long nativeCtxt, long format);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java openjdk/jdk/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/X11SelectionHolder.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,33 +0,0 @@
 -/*
@@ -11002,7 +11004,7 @@
 -    public void lostSelectionOwnership();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Selection.java openjdk/jdk/src/solaris/classes/sun/awt/motif/X11Selection.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Selection.java	2011-11-14 22:12:14.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/motif/X11Selection.java	2011-01-07 21:33:04.000000000 +0000
 +++ openjdk/jdk/src/solaris/classes/sun/awt/motif/X11Selection.java	1970-01-01 01:00:00.000000000 +0100
 @@ -1,203 +0,0 @@
 -/*
@@ -11209,7 +11211,7 @@
 -    }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Button.c openjdk/jdk/src/solaris/native/sun/awt/awt_Button.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Button.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Button.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Button.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,276 +0,0 @@
 -/*
@@ -11489,7 +11491,7 @@
 -    AWT_FLUSH_UNLOCK ();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Canvas.c openjdk/jdk/src/solaris/native/sun/awt/awt_Canvas.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Canvas.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Canvas.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Canvas.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,130 +0,0 @@
 -/*
@@ -11623,7 +11625,7 @@
 -    DASSERT(mCanvasIDs.setGCFromPeerMID);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Checkbox.c openjdk/jdk/src/solaris/native/sun/awt/awt_Checkbox.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Checkbox.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Checkbox.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Checkbox.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,428 +0,0 @@
 -/*
@@ -12055,7 +12057,7 @@
 -    return dim;
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice12.c openjdk/jdk/src/solaris/native/sun/awt/awt_Choice12.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice12.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice12.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Choice12.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,843 +0,0 @@
 -/*
@@ -12902,7 +12904,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice21.c openjdk/jdk/src/solaris/native/sun/awt/awt_Choice21.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice21.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Choice21.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Choice21.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,764 +0,0 @@
 -/*
@@ -13670,7 +13672,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Component.c openjdk/jdk/src/solaris/native/sun/awt/awt_Component.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Component.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Component.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Component.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1656 +0,0 @@
 -/*
@@ -15330,7 +15332,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Cursor.c openjdk/jdk/src/solaris/native/sun/awt/awt_Cursor.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Cursor.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Cursor.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Cursor.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,216 +0,0 @@
 -/*
@@ -15550,7 +15552,7 @@
 -    return (*env)->NewLocalRef(env, curComp);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.c openjdk/jdk/src/solaris/native/sun/awt/awt_DataTransferer.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_DataTransferer.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1068 +0,0 @@
 -/*
@@ -16622,7 +16624,7 @@
 -    AWT_NOTIFY_ALL();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.h openjdk/jdk/src/solaris/native/sun/awt/awt_DataTransferer.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.h	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DataTransferer.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_DataTransferer.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,275 +0,0 @@
 -/*
@@ -16901,7 +16903,7 @@
 -
 -#endif /* AWT_DATATRANSFERER_H */
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.c openjdk/jdk/src/solaris/native/sun/awt/awt_dnd.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_dnd.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,887 +0,0 @@
 -/*
@@ -17792,7 +17794,7 @@
 -    return ret;
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_ds.c openjdk/jdk/src/solaris/native/sun/awt/awt_dnd_ds.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_ds.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_ds.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_dnd_ds.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1796 +0,0 @@
 -/*
@@ -19592,7 +19594,7 @@
 -                             CurrentTime);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_dt.c openjdk/jdk/src/solaris/native/sun/awt/awt_dnd_dt.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_dt.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd_dt.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_dnd_dt.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,3700 +0,0 @@
 -/*
@@ -23296,7 +23298,7 @@
 -    return get_selection_data(env, selection, target, time_stamp);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.h openjdk/jdk/src/solaris/native/sun/awt/awt_dnd.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.h	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_dnd.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_dnd.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,242 +0,0 @@
 -/*
@@ -23542,8 +23544,8 @@
 -void set_proxy_mode_source_window(Window window);
 -/******************************************************************************/
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c openjdk/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c	2011-11-14 22:12:15.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c	2012-08-31 12:03:21.938641907 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_DrawingSurface.c	2012-09-19 14:26:46.309536975 +0100
 @@ -29,7 +29,7 @@
  
  #include "awt_p.h"
@@ -23554,7 +23556,7 @@
  #include "awt_Component.h"
  
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_FileDialog.c openjdk/jdk/src/solaris/native/sun/awt/awt_FileDialog.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_FileDialog.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_FileDialog.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_FileDialog.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,925 +0,0 @@
 -/*
@@ -24483,7 +24485,7 @@
 -    AWT_FLUSH_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GlobalCursorManager.c openjdk/jdk/src/solaris/native/sun/awt/awt_GlobalCursorManager.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GlobalCursorManager.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GlobalCursorManager.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_GlobalCursorManager.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,127 +0,0 @@
 -/*
@@ -24614,7 +24616,7 @@
 -    return component;
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c openjdk/jdk/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_KeyboardFocusManager.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,175 +0,0 @@
 -/*
@@ -24793,7 +24795,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Label.c openjdk/jdk/src/solaris/native/sun/awt/awt_Label.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Label.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Label.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Label.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,212 +0,0 @@
 -/*
@@ -25009,7 +25011,7 @@
 -    AWT_FLUSH_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_List.c openjdk/jdk/src/solaris/native/sun/awt/awt_List.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_List.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_List.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_List.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,600 +0,0 @@
 -/*
@@ -25613,7 +25615,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.c openjdk/jdk/src/solaris/native/sun/awt/awt_MenuBar.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_MenuBar.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,198 +0,0 @@
 -/*
@@ -25815,7 +25817,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.h openjdk/jdk/src/solaris/native/sun/awt/awt_MenuBar.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.h	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuBar.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_MenuBar.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,30 +0,0 @@
 -/*
@@ -25849,7 +25851,7 @@
 -  jfieldID graphicsConfig;
 -};
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.c openjdk/jdk/src/solaris/native/sun/awt/awt_Menu.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Menu.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,407 +0,0 @@
 -/*
@@ -26260,7 +26262,7 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuComponent.c openjdk/jdk/src/solaris/native/sun/awt/awt_MenuComponent.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuComponent.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuComponent.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_MenuComponent.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,48 +0,0 @@
 -/*
@@ -26312,7 +26314,7 @@
 -          env, cls, "getParent_NoClientCode", "()Ljava/awt/MenuContainer;");
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.h openjdk/jdk/src/solaris/native/sun/awt/awt_Menu.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.h	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Menu.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Menu.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,32 +0,0 @@
 -/*
@@ -26348,7 +26350,7 @@
 -    jfieldID isHelpMenu;
 -};
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuItem.c openjdk/jdk/src/solaris/native/sun/awt/awt_MenuItem.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuItem.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MenuItem.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_MenuItem.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,654 +0,0 @@
 -/*
@@ -27006,7 +27008,7 @@
 -    return ((state) ? JNI_TRUE : JNI_FALSE);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif12.c openjdk/jdk/src/solaris/native/sun/awt/awt_motif12.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif12.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif12.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_motif12.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,435 +0,0 @@
 -/*
@@ -27445,7 +27447,7 @@
 -    xmDragContextClassRec.drag_class.start = (XmDragStartProc)CheckedDragStart;
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif21.c openjdk/jdk/src/solaris/native/sun/awt/awt_motif21.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif21.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif21.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_motif21.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,234 +0,0 @@
 -/*
@@ -27683,7 +27685,7 @@
 -                  (XtPointer)w);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif.c openjdk/jdk/src/solaris/native/sun/awt/awt_motif.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_motif.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_motif.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,58 +0,0 @@
 -/*
@@ -27745,8 +27747,8 @@
 -  }
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c	2011-11-14 22:12:15.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c	2012-08-31 12:03:21.942641962 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_MToolkit.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c	2012-09-19 14:26:46.309536975 +0100
 @@ -48,7 +48,7 @@
  
  /* JNI field and method ids */
@@ -27757,8 +27759,8 @@
  #include "awt_TopLevel.h"
  #include "canvas.h"
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h openjdk/jdk/src/solaris/native/sun/awt/awt_p.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h	2012-08-31 12:00:37.836384297 +0100
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2012-08-31 12:03:21.942641962 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h	2012-09-19 14:25:49.112394534 +0100
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2012-09-19 14:26:46.309536975 +0100
 @@ -79,7 +79,7 @@
  
  #ifndef XAWT
@@ -27769,7 +27771,7 @@
  
  #ifndef HEADLESS
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_PopupMenu.c openjdk/jdk/src/solaris/native/sun/awt/awt_PopupMenu.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_PopupMenu.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_PopupMenu.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_PopupMenu.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,491 +0,0 @@
 -/*
@@ -28264,8 +28266,8 @@
 -    AWT_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Robot.c openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Robot.c	2011-11-14 22:12:15.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c	2012-08-31 12:03:21.942641962 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Robot.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c	2012-09-19 14:26:46.313537053 +0100
 @@ -204,14 +204,8 @@
  
  /*********************************************************************************************/
@@ -28346,7 +28348,7 @@
                             jint wheelAmt) {
  /* Mouse wheel is implemented as a button press of button 4 and 5, so it */
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Scrollbar.c openjdk/jdk/src/solaris/native/sun/awt/awt_Scrollbar.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Scrollbar.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Scrollbar.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Scrollbar.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,440 +0,0 @@
 -/*
@@ -28790,7 +28792,7 @@
 -    AWT_FLUSH_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_ScrollPane.c openjdk/jdk/src/solaris/native/sun/awt/awt_ScrollPane.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_ScrollPane.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_ScrollPane.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_ScrollPane.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,927 +0,0 @@
 -/*
@@ -29721,7 +29723,7 @@
 -    (*env)->CallVoidMethod(env, adjustable, setTypedValueMID, value, type);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Selection.c openjdk/jdk/src/solaris/native/sun/awt/awt_Selection.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Selection.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_Selection.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_Selection.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,508 +0,0 @@
 -/*
@@ -30233,7 +30235,7 @@
 -    return get_selection_data(env, selectionAtom, format, time_stamp);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.c openjdk/jdk/src/solaris/native/sun/awt/awt_TextArea.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_TextArea.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,1003 +0,0 @@
 -/*
@@ -31240,7 +31242,7 @@
 -}
 -*/
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.h openjdk/jdk/src/solaris/native/sun/awt/awt_TextArea.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.h	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextArea.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_TextArea.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,36 +0,0 @@
 -/*
@@ -31280,7 +31282,7 @@
 -    jfieldID firstChangeSkipped;
 -};
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.c openjdk/jdk/src/solaris/native/sun/awt/awt_TextField.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.c	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_TextField.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,989 +0,0 @@
 -/*
@@ -32273,7 +32275,7 @@
 -}
 -*/
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.h openjdk/jdk/src/solaris/native/sun/awt/awt_TextField.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.h	2011-11-14 22:12:15.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TextField.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_TextField.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,36 +0,0 @@
 -/*
@@ -32313,7 +32315,7 @@
 -    jfieldID firstChangeSkipped;
 -};
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TopLevel.c openjdk/jdk/src/solaris/native/sun/awt/awt_TopLevel.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TopLevel.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_TopLevel.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_TopLevel.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,5095 +0,0 @@
 -/*
@@ -37412,7 +37414,7 @@
 -{
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed.c openjdk/jdk/src/solaris/native/sun/awt/awt_xembed.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_xembed.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_xembed.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,430 +0,0 @@
 -/*
@@ -37846,7 +37848,7 @@
 -    sendMessage(data->embedder, (direction == JNI_TRUE)?XEMBED_FOCUS_NEXT:XEMBED_FOCUS_PREV);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.c openjdk/jdk/src/solaris/native/sun/awt/awt_XmDnD.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_XmDnD.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,2282 +0,0 @@
 -/*
@@ -40132,7 +40134,7 @@
 -    awt_cleanupConvertDataContext(env, MOTIF_DROP_ATOM);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.h openjdk/jdk/src/solaris/native/sun/awt/awt_XmDnD.h
---- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.h	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_XmDnD.h	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/awt_XmDnD.h	1970-01-01 01:00:00.000000000 +0100
 @@ -1,41 +0,0 @@
 -/*
@@ -40177,7 +40179,7 @@
 -        uint32_t                dsCnt;
 -} DropSiteInfo;
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/canvas.c openjdk/jdk/src/solaris/native/sun/awt/canvas.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/canvas.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/canvas.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/canvas.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,3227 +0,0 @@
 -/*
@@ -43408,7 +43410,7 @@
 -    (*env)->PopLocalFrame(env, 0);
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/cursor.c openjdk/jdk/src/solaris/native/sun/awt/cursor.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/cursor.c	2011-11-14 22:12:16.000000000 +0000
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/cursor.c	2011-01-07 21:33:07.000000000 +0000
 +++ openjdk/jdk/src/solaris/native/sun/awt/cursor.c	1970-01-01 01:00:00.000000000 +0100
 @@ -1,132 +0,0 @@
 -/*
@@ -43544,8 +43546,8 @@
 -    AWT_FLUSH_UNLOCK();
 -}
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/initIDs.c openjdk/jdk/src/solaris/native/sun/awt/initIDs.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/initIDs.c	2011-11-14 22:12:16.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/initIDs.c	2012-08-31 12:03:21.954642128 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/initIDs.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/initIDs.c	2012-09-19 14:26:46.329537372 +0100
 @@ -26,7 +26,7 @@
  #include "java_awt_Color.h"
  #include "java_awt_Dimension.h"
@@ -43556,8 +43558,8 @@
  #include "java_awt_event_MouseEvent.h"
  #include "java_awt_Rectangle.h"
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/multi_font.c openjdk/jdk/src/solaris/native/sun/awt/multi_font.c
---- openjdk.orig/jdk/src/solaris/native/sun/awt/multi_font.c	2011-11-14 22:12:16.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/multi_font.c	2012-08-31 12:03:21.954642128 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/awt/multi_font.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/awt/multi_font.c	2012-09-19 14:26:46.329537372 +0100
 @@ -52,8 +52,8 @@
  extern XFontStruct *loadFont(Display *, char *, int32_t);
  
--- a/patches/openjdk/6633275-shaped_translucent_windows.patch	Mon Sep 10 17:48:48 2012 +0100
+++ b/patches/openjdk/6633275-shaped_translucent_windows.patch	Wed Sep 19 17:06:14 2012 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk openjdk/jdk/make/sun/awt/FILES_c_windows.gmk
---- openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk	2012-06-11 16:31:11.645927727 +0100
-+++ openjdk/jdk/make/sun/awt/FILES_c_windows.gmk	2012-06-11 16:47:59.677058564 +0100
+--- openjdk.orig/jdk/make/sun/awt/FILES_c_windows.gmk	2012-09-19 14:18:01.684480621 +0100
++++ openjdk/jdk/make/sun/awt/FILES_c_windows.gmk	2012-09-19 14:18:34.309003281 +0100
 @@ -1,5 +1,5 @@
  #
 -# Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -19,8 +19,8 @@
  FILES_cpp = \
  	CmdIDList.cpp \
 diff -Nru openjdk.orig/jdk/make/sun/awt/make.depend openjdk/jdk/make/sun/awt/make.depend
---- openjdk.orig/jdk/make/sun/awt/make.depend	2012-06-11 16:31:11.653927846 +0100
-+++ openjdk/jdk/make/sun/awt/make.depend	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/make/sun/awt/make.depend	2012-09-19 14:18:01.692480748 +0100
++++ openjdk/jdk/make/sun/awt/make.depend	2012-09-19 14:18:34.321003473 +0100
 @@ -16,7 +16,7 @@
  
  $(OBJDIR)/awt_AWTEvent.obj::	$(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt_MMStub.h ../../../src/windows/native/sun/windows/awt_Multimon.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Unicode.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
@@ -107,8 +107,8 @@
  $(OBJDIR)/UnicowsLoader.obj::	../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/UnicowsLoader.h
  
 diff -Nru openjdk.orig/jdk/make/sun/awt/Makefile openjdk/jdk/make/sun/awt/Makefile
---- openjdk.orig/jdk/make/sun/awt/Makefile	2012-06-11 16:31:11.645927727 +0100
-+++ openjdk/jdk/make/sun/awt/Makefile	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/make/sun/awt/Makefile	2012-09-19 14:18:01.684480621 +0100
++++ openjdk/jdk/make/sun/awt/Makefile	2012-09-19 14:18:34.321003473 +0100
 @@ -1,5 +1,5 @@
  #
 -# Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -125,8 +125,8 @@
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/loops
  vpath %.c   $(SHARE_SRC)/native/$(PKGDIR)/../java2d/pipe
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers openjdk/jdk/make/sun/awt/mapfile-mawt-vers
---- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2012-06-11 16:31:11.657927905 +0100
-+++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/make/sun/awt/mapfile-mawt-vers	2012-09-19 14:18:01.692480748 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-mawt-vers	2012-09-19 14:18:34.321003473 +0100
 @@ -291,6 +291,7 @@
  		Java_sun_awt_X11GraphicsConfig_createBackBuffer;
  		Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
@@ -136,8 +136,8 @@
  		Java_sun_awt_X11GraphicsDevice_getDisplay;
  		Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
 diff -Nru openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux openjdk/jdk/make/sun/awt/mapfile-vers-linux
---- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2012-06-11 16:31:11.657927905 +0100
-+++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/make/sun/awt/mapfile-vers-linux	2012-09-19 14:18:01.692480748 +0100
++++ openjdk/jdk/make/sun/awt/mapfile-vers-linux	2012-09-19 14:18:34.321003473 +0100
 @@ -406,6 +406,7 @@
  		Java_sun_awt_X11GraphicsConfig_getNumColors;
  		Java_sun_awt_X11GraphicsConfig_getXResolution;
@@ -147,8 +147,8 @@
  		Java_sun_awt_X11GraphicsDevice_getDisplay;
  		Java_sun_awt_X11GraphicsDevice_getDoubleBufferVisuals;
 diff -Nru openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers
---- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2012-06-11 16:31:11.657927905 +0100
-+++ openjdk/jdk/make/sun/xawt/mapfile-vers	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers	2012-09-19 14:18:01.696480812 +0100
++++ openjdk/jdk/make/sun/xawt/mapfile-vers	2012-09-19 14:18:34.321003473 +0100
 @@ -216,6 +216,7 @@
          Java_sun_awt_X11GraphicsConfig_createBackBuffer;
  	Java_sun_awt_X11GraphicsConfig_destroyBackBuffer;
@@ -158,8 +158,8 @@
          Java_java_awt_KeyboardFocusManager_initIDs;
          Java_java_awt_Font_initIDs;
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java
---- openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-06-11 16:31:10.765914301 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-06-11 16:47:59.685058684 +0100
+--- openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-09-19 14:17:58.168424291 +0100
++++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-09-19 14:18:34.325003537 +0100
 @@ -26,17 +26,37 @@
  package com.sun.awt;
  
@@ -545,46 +545,106 @@
       * Sets a 'mixing-cutout' shape for the given component.
       *
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Component.java openjdk/jdk/src/share/classes/java/awt/Component.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2012-06-11 16:31:11.661927967 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Component.java	2012-06-11 16:47:59.689058745 +0100
-@@ -806,18 +806,27 @@
+--- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2012-09-19 14:18:01.696480812 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Component.java	2012-09-19 14:24:33.686884140 +0100
+@@ -806,6 +806,13 @@
              }
      }
  
--    static {
--        AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
--                public AccessControlContext getAccessControlContext(Component comp) {
--                    return comp.getAccessControlContext();
--                }
--
--            });
--    }
--
 +    // Whether this Component has had the background erase flag
 +    // specified via SunToolkit.disableBackgroundErase(). This is
 +    // needed in order to make this function work on X11 platforms,
 +    // where currently there is no chance to interpose on the creation
 +    // of the peer and therefore the call to XSetBackground.
 +    transient boolean backgroundEraseDisabled;
- 
++
      static {
          AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
-+            public AccessControlContext getAccessControlContext(Component comp) {
-+                return comp.getAccessControlContext();
-+            }
-+            public void setBackgroundEraseDisabled(Component comp, boolean disabled) {
-+                comp.backgroundEraseDisabled = disabled;
-+            }
-+            public boolean getBackgroundEraseDisabled(Component comp) {
-+                return comp.backgroundEraseDisabled;
-+            }
-+            public Rectangle getBounds(Component comp) {
-+                return new Rectangle(comp.x, comp.y, comp.width, comp.height);
-+            }
-             public void setMixingCutoutShape(Component comp, Shape shape) {
-                 Region region = shape == null ?  null :
-                     Region.getInstance(shape, null);
-@@ -7454,7 +7463,7 @@
+                 public AppContext getAppContext(Component comp) {
+@@ -820,6 +827,18 @@
+                     return comp.getAccessControlContext();
+                 }
+ 
++                public void setBackgroundEraseDisabled(Component comp, boolean disabled) {
++                    comp.backgroundEraseDisabled = disabled;
++                }
++
++                public boolean getBackgroundEraseDisabled(Component comp) {
++                    return comp.backgroundEraseDisabled;
++                }
++
++                public Rectangle getBounds(Component comp) {
++                    return new Rectangle(comp.x, comp.y, comp.width, comp.height);
++                }
++
+                 public boolean requestFocusInWindow(Component comp, CausedFocusEvent.Cause cause) {
+                     return comp.requestFocusInWindow(cause);
+                 }
+@@ -827,41 +846,36 @@
+                 public void requestFocus(Component comp, CausedFocusEvent.Cause cause) {
+                     comp.requestFocus(cause);
+                 }
+-            });
+-    }
+-
+-
+-    static {
+-        AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
+-            public void setMixingCutoutShape(Component comp, Shape shape) {
+-                Region region = shape == null ?  null :
+-                    Region.getInstance(shape, null);
+ 
+-                synchronized (comp.getTreeLock()) {
+-                    boolean needShowing = false;
+-                    boolean needHiding = false;
++                public void setMixingCutoutShape(Component comp, Shape shape) {
++                    Region region = shape == null ?  null :
++                        Region.getInstance(shape, null);
++
++                    synchronized (comp.getTreeLock()) {
++                        boolean needShowing = false;
++                        boolean needHiding = false;
+ 
+-                    if (!comp.isNonOpaqueForMixing()) {
+-                        needHiding = true;
+-                    }
+-
+-                    comp.mixingCutoutRegion = region;
++                        if (!comp.isNonOpaqueForMixing()) {
++                            needHiding = true;
++                        }
+ 
+-                    if (!comp.isNonOpaqueForMixing()) {
+-                        needShowing = true;
+-                    }
++                        comp.mixingCutoutRegion = region;
+ 
+-                    if (comp.isMixingNeeded()) {
+-                        if (needHiding) {
+-                            comp.mixOnHiding(comp.isLightweight());
++                        if (!comp.isNonOpaqueForMixing()) {
++                            needShowing = true;
+                         }
+-                        if (needShowing) {
+-                            comp.mixOnShowing();
++
++                        if (comp.isMixingNeeded()) {
++                            if (needHiding) {
++                                comp.mixOnHiding(comp.isLightweight());
++                            }
++                            if (needShowing) {
++                                comp.mixOnShowing();
++                            }
+                         }
+                     }
+                 }
+-            }
+-        });
++            });
+     }
+ 
+     /**
+@@ -7469,7 +7483,7 @@
              // sometimes most recent focus owner may be null, but focus owner is not
              // e.g. we reset most recent focus owner if user removes focus owner
              focusOwner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
@@ -593,13 +653,12 @@
                  focusOwner = null;
              }
          }
-@@ -8689,30 +8698,8 @@
+@@ -8704,31 +8718,9 @@
       *         null, if component is not a part of window hierarchy
       */
      Window getContainingWindow() {
 -        return getContainingWindow(this);
-+        return SunToolkit.getContainingWindow(this);
-     }
+-    }
 -    /**
 -     * Returns the <code>Window</code> ancestor of the component <code>comp</code>.
 -     * @return Window ancestor of the component or component by itself if it is Window;
@@ -611,7 +670,9 @@
 -        }
 -
 -        return (Window)comp;
--    }
++        return SunToolkit.getContainingWindow(this);
+     }
+ 
 -
 -
 -
@@ -622,10 +683,10 @@
 -
 -
 -
- 
      /**
       * Initialize JNI field and method IDs
-@@ -9827,4 +9814,29 @@
+      */
+@@ -9842,4 +9834,29 @@
      }
  
      // ****************** END OF MIXING CODE ********************************
@@ -656,8 +717,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Container.java openjdk/jdk/src/share/classes/java/awt/Container.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2012-06-11 16:31:10.769914362 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Container.java	2012-06-11 16:47:59.689058745 +0100
+--- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2012-09-19 14:17:58.172424355 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Container.java	2012-09-19 14:18:34.325003537 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -676,9 +737,9 @@
       * JDK 1.1 serialVersionUID
       */
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
---- openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2012-06-11 16:31:10.449909479 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2012-06-11 16:47:59.689058745 +0100
-@@ -480,7 +480,7 @@
+--- openjdk.orig/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2012-09-19 14:17:58.116423459 +0100
++++ openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java	2012-09-19 14:18:34.325003537 +0100
+@@ -491,7 +491,7 @@
                  // that a Component outside of the focused Window receives a
                  // FOCUS_GAINED event. We synthesize a WINDOW_GAINED_FOCUS
                  // event in that case.
@@ -689,7 +750,7 @@
                      newFocusedWindow != currentFocusedWindow)
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/GraphicsConfiguration.java openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java
 --- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2011-01-07 21:32:53.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2012-06-11 16:47:59.689058745 +0100
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsConfiguration.java	2012-09-19 14:18:34.325003537 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -719,8 +780,8 @@
      }
 +}
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java
---- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java	2012-06-11 16:31:11.661927967 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java	2012-06-11 16:47:59.689058745 +0100
+--- openjdk.orig/jdk/src/share/classes/java/awt/GraphicsDevice.java	2012-09-19 14:18:01.696480812 +0100
++++ openjdk/jdk/src/share/classes/java/awt/GraphicsDevice.java	2012-09-19 14:18:34.325003537 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -889,9 +950,9 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java
---- openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2012-06-11 16:31:10.365908196 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2012-06-11 16:47:59.689058745 +0100
-@@ -2189,7 +2189,7 @@
+--- openjdk.orig/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2012-09-19 14:17:58.084422944 +0100
++++ openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java	2012-09-19 14:18:34.329003600 +0100
+@@ -2208,7 +2208,7 @@
                                                    boolean temporary, boolean focusedWindowChangeAllowed,
                                                    long time)
      {
@@ -900,7 +961,7 @@
          if (parentWindow == null || !parentWindow.syncLWRequests) {
              return false;
          }
-@@ -2523,7 +2523,7 @@
+@@ -2542,7 +2542,7 @@
                  (HeavyweightFocusRequest.CLEAR_GLOBAL_FOCUS_OWNER);
  
              Component activeWindow = ((hwFocusRequest != null)
@@ -909,7 +970,7 @@
                  : nativeFocusedWindow);
              while (activeWindow != null &&
                     !((activeWindow instanceof Frame) ||
-@@ -2994,8 +2994,8 @@
+@@ -3013,8 +3013,8 @@
      }
  
      private static boolean focusedWindowChanged(Component to, Component from) {
@@ -920,7 +981,7 @@
          if (wto == null && wfrom == null) {
              return true;
          }
-@@ -3009,8 +3009,8 @@
+@@ -3028,8 +3028,8 @@
      }
  
      private static boolean isTemporary(Component to, Component from) {
@@ -933,7 +994,7 @@
          }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/peer/WindowPeer.java openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java
 --- openjdk.orig/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2011-01-07 21:32:53.000000000 +0000
-+++ openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2012-06-11 16:47:59.689058745 +0100
++++ openjdk/jdk/src/share/classes/java/awt/peer/WindowPeer.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -978,8 +1039,8 @@
 +    void updateWindow(BufferedImage backBuffer);
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Window.java openjdk/jdk/src/share/classes/java/awt/Window.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2012-06-11 16:31:10.449909479 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Window.java	2012-06-11 16:47:59.693058805 +0100
+--- openjdk.orig/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:17:58.116423459 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Window.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -995,15 +1056,7 @@
  import java.awt.peer.ComponentPeer;
  import java.awt.peer.WindowPeer;
  import java.beans.PropertyChangeListener;
-@@ -50,6 +51,7 @@
- import java.util.logging.Logger;
- import java.util.concurrent.atomic.AtomicBoolean;
- import javax.accessibility.*;
-+import sun.awt.AWTAccessor;
- import sun.awt.AppContext;
- import sun.awt.CausedFocusEvent;
- import sun.awt.SunToolkit;
-@@ -291,6 +293,25 @@
+@@ -292,6 +293,25 @@
       */
      transient boolean isInShow = false;
  
@@ -1029,7 +1082,7 @@
      private static final String base = "win";
      private static int nameCounter = 0;
  
-@@ -661,9 +682,9 @@
+@@ -668,9 +688,9 @@
              }
              if (peer == null) {
                  peer = getToolkit().createWindow(this);
@@ -1042,7 +1095,7 @@
              }
              super.addNotify();
          }
-@@ -2765,6 +2786,8 @@
+@@ -2772,6 +2792,8 @@
           if(aot) {
               setAlwaysOnTop(aot); // since 1.5; subject to permission check
           }
@@ -1051,7 +1104,7 @@
  
           deserializeResources(s);
      }
-@@ -3182,6 +3205,225 @@
+@@ -3189,6 +3211,225 @@
      }
  
  
@@ -1277,7 +1330,7 @@
      // ************************** MIXING CODE *******************************
  
      // A window has a parent, but it does NOT have a container
-@@ -3219,6 +3461,42 @@
+@@ -3226,6 +3467,42 @@
  
      // ****************** END OF MIXING CODE ********************************
  
@@ -1322,7 +1375,7 @@
  
 diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/RepaintManager.java openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java
 --- openjdk.orig/jdk/src/share/classes/javax/swing/RepaintManager.java	2011-01-07 21:32:57.000000000 +0000
-+++ openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/share/classes/javax/swing/RepaintManager.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1395,12 +1448,12 @@
  
          for (Component dirty : tmpDirtyComponents.keySet()) {
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-06-11 16:31:10.789914668 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-06-11 16:47:59.693058805 +0100
-@@ -59,10 +59,29 @@
-      * An interface of accessor for the java.awt.Component class.
-      */
-     public interface ComponentAccessor {
+--- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:17:58.172424355 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:21:45.168060548 +0100
+@@ -79,10 +79,29 @@
+          */
+         void setAppContext(Component comp, AppContext appContext);
+ 
 -        // See 6797587
 -        // Also see: 6776743, 6768307, and 6768332.
 -        /**
@@ -1429,8 +1482,8 @@
 +         * See 6797587, 6776743, 6768307, and 6768332 for details
           */
          void setMixingCutoutShape(Component comp, Shape shape);
-         /*
-@@ -72,6 +91,41 @@
+ 
+@@ -122,6 +141,41 @@
      }
  
      /*
@@ -1472,10 +1525,15 @@
       * An accessor for the AWTEvent class.
       */
      public interface AWTEventAccessor {
-@@ -101,6 +155,14 @@
+@@ -336,11 +390,18 @@
+      * Accessor instances are initialized in the static initializers of
+      * corresponding AWT classes by using setters defined below.
+      */
+-    private static WindowAccessor windowAccessor;
      /* The java.awt.Component class accessor object.
       */
      private static ComponentAccessor componentAccessor;
+     private static KeyboardFocusManagerAccessor kfmAccessor;
 +    /*
 +     * The java.awt.Window class accessor object.
 +     */
@@ -1485,34 +1543,11 @@
 +     * The java.awt.AWTEvent class accessor object.
 +     */
      private static AWTEventAccessor awtEventAccessor;
- 
-     /*
-@@ -137,4 +199,22 @@
-         }
-         return awtEventAccessor;
-     }
-+
-+    /*
-+     * Set an accessor object for the java.awt.Window class.
-+     */
-+    public static void setWindowAccessor(WindowAccessor wa) {
-+        windowAccessor = wa;
-+    }
-+
-+    /*
-+     * Retrieve the accessor object for the java.awt.Window class.
-+     */
-+    public static WindowAccessor getWindowAccessor() {
-+        if (windowAccessor == null) {
-+            unsafe.ensureClassInitialized(Window.class);
-+        }
-+        return windowAccessor;
-+    }
-+
- }
+     private static MenuComponentAccessor menuComponentAccessor;
+     private static EventQueueAccessor eventQueueAccessor;
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/EmbeddedFrame.java openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
 --- openjdk.orig/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2011-01-07 21:32:58.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
@@ -1535,32 +1570,9 @@
 +     }
  } // class EmbeddedFrame
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-06-11 16:31:10.789914668 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-06-11 16:47:59.693058805 +0100
-@@ -32,14 +32,10 @@
- import java.awt.peer.*;
- import java.awt.event.WindowEvent;
- import java.awt.event.KeyEvent;
--import java.awt.im.spi.InputMethodDescriptor;
- import java.awt.image.*;
--import java.awt.geom.AffineTransform;
- import java.awt.TrayIcon;
- import java.awt.SystemTray;
--import java.io.*;
- import java.net.URL;
--import java.net.JarURLConnection;
- import java.util.*;
- import java.util.concurrent.TimeUnit;
- import java.util.concurrent.locks.Condition;
-@@ -49,7 +45,6 @@
- import sun.misc.SoftCache;
- import sun.font.FontDesignMetrics;
- import sun.awt.im.InputContext;
--import sun.awt.im.SimpleInputMethodWindow;
- import sun.awt.image.*;
- import sun.security.action.GetPropertyAction;
- import sun.security.action.GetBooleanAction;
-@@ -824,16 +819,31 @@
+--- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-09-19 14:17:58.172424355 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-09-19 14:20:35.646947001 +0100
+@@ -726,16 +726,31 @@
      }
  
      /**
@@ -1600,7 +1612,7 @@
      }
  
      /**
-@@ -1972,6 +1982,18 @@
+@@ -1840,6 +1855,18 @@
          AWTAutoShutdown.getInstance().dumpPeers(aLog);
      }
  
@@ -1619,12 +1631,12 @@
      private static Boolean sunAwtDisableMixing = null;
  
      /**
-@@ -1995,6 +2017,73 @@
+@@ -1863,6 +1890,73 @@
      public boolean isNativeGTKAvailable() {
          return false;
      }
 +
-+    // Cosntant alpha
++    // Constant alpha
 +    public boolean isWindowOpacitySupported() {
 +        return false;
 +    }
@@ -1695,7 +1707,7 @@
  
 diff -Nru openjdk.orig/jdk/src/share/native/sun/awt/utility/rect.c openjdk/jdk/src/share/native/sun/awt/utility/rect.c
 --- openjdk.orig/jdk/src/share/native/sun/awt/utility/rect.c	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/share/native/sun/awt/utility/rect.c	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/share/native/sun/awt/utility/rect.c	2012-09-19 14:18:34.329003600 +0100
 @@ -0,0 +1,102 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -1801,7 +1813,7 @@
 +#endif
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2011-01-07 21:33:04.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/WrapperGenerator.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1828,7 +1840,7 @@
                      }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt
 --- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2011-01-07 21:33:04.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/generator/xlibtypes.txt	2012-09-19 14:18:34.329003600 +0100
 @@ -750,6 +750,7 @@
      pixelStride int
      color_data pointer ColorData
@@ -1839,7 +1851,7 @@
      numConfigs int
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2011-01-07 21:33:04.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XNETProtocol.java	2012-09-19 14:18:34.329003600 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -1870,9 +1882,9 @@
          if (!active()) {
              return false;
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2011-01-07 21:33:04.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2012-06-11 16:47:59.693058805 +0100
-@@ -2181,4 +2181,35 @@
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2012-08-31 11:18:57.971637707 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java	2012-09-19 14:18:34.333003664 +0100
+@@ -2164,4 +2164,35 @@
          return new XDesktopPeer();
      }
  
@@ -1910,7 +1922,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java
 --- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2011-01-07 21:33:04.000000000 +0000
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2012-06-11 16:47:59.693058805 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2024,8 +2036,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2012-06-11 16:31:11.721928881 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2012-06-11 16:47:59.693058805 +0100
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2012-09-19 14:18:01.708481004 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11GraphicsConfig.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2049,7 +2061,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c
 --- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c	2012-09-19 14:18:34.333003664 +0100
 @@ -323,6 +323,48 @@
      return NULL;
  }
@@ -2187,7 +2199,7 @@
   * Signature: ()Z
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h openjdk/jdk/src/solaris/native/sun/awt/awt_p.h
 --- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_p.h	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_p.h	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1995, 2005, Oracle and/or its affiliates. All rights reserved.
@@ -2204,8 +2216,8 @@
  
  typedef AwtGraphicsConfigData* AwtGraphicsConfigDataPtr;
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2012-06-11 16:31:11.741929192 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2012-09-19 14:18:01.712481068 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsConfig.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2227,8 +2239,8 @@
 +    }
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2012-06-11 16:31:12.061934070 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2012-09-19 14:18:01.884483824 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2250,7 +2262,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/TranslucentWindowPainter.java	2012-09-19 14:18:34.333003664 +0100
 @@ -0,0 +1,398 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -2652,7 +2664,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2700,8 +2712,8 @@
          super.print(g);
      }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-06-11 16:31:11.741929192 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-09-19 14:18:01.712481068 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2829,7 +2841,7 @@
                      "*** INFO: Setting shape: PEER: " + this
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WFileDialogPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2850,7 +2862,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WPrintDialogPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -2870,8 +2882,8 @@
 +    public void updateWindow(java.awt.image.BufferedImage backBuffer) {}
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2012-06-11 16:31:11.745929252 +0100
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2012-09-19 14:18:01.712481068 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WToolkit.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -2916,7 +2928,7 @@
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
 --- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2011-01-07 21:33:07.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3163,8 +3175,8 @@
       * Static inner class, listens for 'activeWindow' KFM property changes and
       * updates the list of active windows per AppContext, so the latest active
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java
---- openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2012-06-11 16:31:11.905931693 +0100
-+++ openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2012-09-19 14:18:01.716481132 +0100
++++ openjdk/jdk/src/windows/classes/sun/java2d/opengl/WGLSurfaceData.java	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3198,7 +3210,7 @@
          }
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/awt/utility/rect.h openjdk/jdk/src/windows/native/sun/awt/utility/rect.h
 --- openjdk.orig/jdk/src/windows/native/sun/awt/utility/rect.h	2011-01-07 21:33:08.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/awt/utility/rect.h	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/native/sun/awt/utility/rect.h	2012-09-19 14:18:34.333003664 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3223,8 +3235,8 @@
  
  #endif // _AWT_RECT_H
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp
---- openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2012-06-11 16:31:11.933932120 +0100
-+++ openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2012-09-19 14:18:01.736481452 +0100
++++ openjdk/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.cpp	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2007, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3256,8 +3268,8 @@
      // hBitmap is released in UpdateWindow
  
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c
---- openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2012-06-11 16:31:11.937932179 +0100
-+++ openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2012-06-11 16:47:59.697058864 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2012-09-19 14:18:01.740481516 +0100
++++ openjdk/jdk/src/windows/native/sun/java2d/opengl/WGLSurfaceData.c	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2004, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3288,7 +3300,7 @@
  
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp
 --- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2011-01-07 21:33:08.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.cpp	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
@@ -3536,7 +3548,7 @@
 +}
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h
 --- openjdk.orig/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2011-01-07 21:33:08.000000000 +0000
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2012-06-11 16:47:59.697058864 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_BitmapUtil.h	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
@@ -3578,8 +3590,8 @@
  
  #endif
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-06-11 16:31:11.957932486 +0100
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-06-11 16:47:59.701058923 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-09-19 14:18:01.748481647 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -3642,8 +3654,8 @@
              // If all the params are zeros, the shape must be simply reset.
              // Otherwise, convert it into a region.
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h openjdk/jdk/src/windows/native/sun/windows/awt_Component.h
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h	2012-06-11 16:31:11.965932604 +0100
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.h	2012-06-11 16:47:59.701058923 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.h	2012-09-19 14:18:01.748481647 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.h	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2008, Oracle and/or its affiliates. All rights reserved.
@@ -3675,8 +3687,8 @@
  private:
      BOOL m_bSubclassed;
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp	2012-06-11 16:31:11.969932666 +0100
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp	2012-06-11 16:47:59.701058923 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.cpp	2012-09-19 14:18:01.752481711 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.cpp	2012-09-19 14:18:34.337003728 +0100
 @@ -25,6 +25,8 @@
  
  #include <windowsx.h>
@@ -4143,8 +4155,8 @@
  
  } /* extern "C" */
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h openjdk/jdk/src/windows/native/sun/windows/awt_Window.h
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h	2012-06-11 16:31:11.969932666 +0100
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.h	2012-06-11 16:47:59.701058923 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Window.h	2012-09-19 14:18:01.752481711 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Window.h	2012-09-19 14:18:34.337003728 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
@@ -4218,7 +4230,7 @@
      int m_screenNum;
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentJAppletTest/TranslucentJAppletTest.java	2012-09-19 14:18:34.337003728 +0100
 @@ -0,0 +1,103 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -4325,7 +4337,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.form	2012-09-19 14:18:34.337003728 +0100
 @@ -0,0 +1,230 @@
 +<?xml version="1.0" encoding="UTF-8" ?>
 +
@@ -4559,7 +4571,7 @@
 +</Form>
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TranslucentShapedFrameTest.java	2012-09-19 14:18:34.337003728 +0100
 @@ -0,0 +1,359 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -4922,7 +4934,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/com/sun/awt/Translucency/TranslucentShapedFrameTest/TSFrame.java	2012-09-19 14:18:34.341003792 +0100
 @@ -0,0 +1,306 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -5232,7 +5244,7 @@
 +}
 diff -Nru openjdk.orig/jdk/test/com/sun/awt/Translucency/WindowOpacity.java openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java
 --- openjdk.orig/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/com/sun/awt/Translucency/WindowOpacity.java	2012-09-19 14:18:34.341003792 +0100
 @@ -0,0 +1,461 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -5697,7 +5709,7 @@
 +}// TestDialog  class
 diff -Nru openjdk.orig/jdk/test/sun/java2d/pipe/RegionOps.java openjdk/jdk/test/sun/java2d/pipe/RegionOps.java
 --- openjdk.orig/jdk/test/sun/java2d/pipe/RegionOps.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/sun/java2d/pipe/RegionOps.java	2012-06-11 16:47:59.701058923 +0100
++++ openjdk/jdk/test/sun/java2d/pipe/RegionOps.java	2012-09-19 14:18:34.341003792 +0100
 @@ -0,0 +1,533 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
--- a/patches/openjdk/6797195-hw_lw_mixing.patch	Mon Sep 10 17:48:48 2012 +0100
+++ b/patches/openjdk/6797195-hw_lw_mixing.patch	Wed Sep 19 17:06:14 2012 +0100
@@ -1,6 +1,6 @@
 diff -Nru openjdk.orig/jdk/make/sun/awt/Makefile openjdk/jdk/make/sun/awt/Makefile
---- openjdk.orig/jdk/make/sun/awt/Makefile	2011-11-14 22:11:40.000000000 +0000
-+++ openjdk/jdk/make/sun/awt/Makefile	2012-08-31 11:33:55.782065771 +0100
+--- openjdk.orig/jdk/make/sun/awt/Makefile	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/sun/awt/Makefile	2012-09-19 14:14:56.113507317 +0100
 @@ -51,7 +51,7 @@
  # sun/awt/resources       handled by java/awt/Makefile
  # sun/java2d/pisces       handled by sun/pisces/Makefile
@@ -11,8 +11,8 @@
  
  ifeq ($(PLATFORM), windows)
 diff -Nru openjdk.orig/jdk/make/tools/sharing/classlist.linux openjdk/jdk/make/tools/sharing/classlist.linux
---- openjdk.orig/jdk/make/tools/sharing/classlist.linux	2011-11-14 22:11:41.000000000 +0000
-+++ openjdk/jdk/make/tools/sharing/classlist.linux	2012-08-31 11:33:55.786065852 +0100
+--- openjdk.orig/jdk/make/tools/sharing/classlist.linux	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/tools/sharing/classlist.linux	2012-09-19 14:14:56.129507570 +0100
 @@ -1718,6 +1718,7 @@
  sun/awt/color/CMM
  java/applet/Applet
@@ -22,8 +22,8 @@
  sun/awt/EmbeddedFrame
  sun/awt/im/InputMethodContext
 diff -Nru openjdk.orig/jdk/make/tools/sharing/classlist.solaris openjdk/jdk/make/tools/sharing/classlist.solaris
---- openjdk.orig/jdk/make/tools/sharing/classlist.solaris	2011-11-14 22:11:41.000000000 +0000
-+++ openjdk/jdk/make/tools/sharing/classlist.solaris	2012-08-31 11:33:55.790065932 +0100
+--- openjdk.orig/jdk/make/tools/sharing/classlist.solaris	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/tools/sharing/classlist.solaris	2012-09-19 14:14:56.129507570 +0100
 @@ -961,6 +961,7 @@
  javax/swing/SystemEventQueueUtilities$ComponentWorkRequest
  java/applet/Applet
@@ -33,8 +33,8 @@
  java/util/jar/Manifest
  java/io/ByteArrayInputStream
 diff -Nru openjdk.orig/jdk/make/tools/sharing/classlist.windows openjdk/jdk/make/tools/sharing/classlist.windows
---- openjdk.orig/jdk/make/tools/sharing/classlist.windows	2011-11-14 22:11:41.000000000 +0000
-+++ openjdk/jdk/make/tools/sharing/classlist.windows	2012-08-31 11:33:55.790065932 +0100
+--- openjdk.orig/jdk/make/tools/sharing/classlist.windows	2011-01-07 21:32:51.000000000 +0000
++++ openjdk/jdk/make/tools/sharing/classlist.windows	2012-09-19 14:14:56.129507570 +0100
 @@ -1621,6 +1621,7 @@
  sun/font/FontDesignMetrics$MetricsKey
  java/applet/Applet
@@ -45,7 +45,7 @@
  java/awt/im/spi/InputMethodContext
 diff -Nru openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java
 --- openjdk.orig/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-08-31 11:33:55.790065932 +0100
++++ openjdk/jdk/src/share/classes/com/sun/awt/AWTUtilities.java	2012-09-19 14:14:56.129507570 +0100
 @@ -0,0 +1,104 @@
 +/*
 + * Copyright (c) 2008, 2009, Oracle and/or its affiliates. All rights reserved.
@@ -152,8 +152,8 @@
 +}
 +
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Component.java openjdk/jdk/src/share/classes/java/awt/Component.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2012-08-31 11:30:58.838483405 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Component.java	2012-08-31 11:33:55.790065932 +0100
+--- openjdk.orig/jdk/src/share/classes/java/awt/Component.java	2012-09-19 13:58:34.041760415 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Component.java	2012-09-19 14:14:56.129507570 +0100
 @@ -66,8 +66,10 @@
  
  import sun.security.action.GetPropertyAction;
@@ -199,7 +199,7 @@
      /**
       * Should only be used in subclass getBounds to check that part of bounds
       * is actualy changing
-@@ -925,6 +931,39 @@
+@@ -821,6 +827,39 @@
      }
  
  
@@ -239,7 +239,7 @@
      /**
       * Constructs a new component. Class <code>Component</code> can be
       * extended directly to create a lightweight component that does not
-@@ -6693,7 +6732,6 @@
+@@ -6589,7 +6628,6 @@
              }
  
              if (!isAddNotifyComplete) {
@@ -247,7 +247,7 @@
                  mixOnShowing();
              }
  
-@@ -6785,9 +6823,11 @@
+@@ -6681,9 +6719,11 @@
                  p.dispose();
  
                  mixOnHiding(isLightweight);
@@ -260,7 +260,7 @@
              }
  
              if (hierarchyListener != null ||
-@@ -9453,10 +9493,9 @@
+@@ -9349,10 +9389,9 @@
       * Null-layout of the container or absence of the container mean
       * the bounds of the component are final and can be trusted.
       */
@@ -273,7 +273,7 @@
      }
  
      /**
-@@ -9465,6 +9504,14 @@
+@@ -9361,6 +9400,14 @@
       */
      void applyCompoundShape(Region shape) {
          checkTreeLock();
@@ -288,7 +288,7 @@
          if (!isLightweight()) {
              ComponentPeer peer = getPeer();
              if (peer != null) {
-@@ -9474,22 +9521,31 @@
+@@ -9370,22 +9417,31 @@
                  // with some incorrect Region object with loX being
                  // greater than the hiX for instance.
                  if (shape.isEmpty()) {
@@ -327,7 +327,7 @@
                      peer.applyShape(shape.getTranslatedRegion(-compAbsolute.x, -compAbsolute.y));
                  }
              }
-@@ -9512,7 +9568,7 @@
+@@ -9408,7 +9464,7 @@
          Point curLocation = getLocation();
  
          for (Container parent = getContainer();
@@ -336,7 +336,7 @@
                  parent = parent.getContainer())
          {
              curLocation.x += parent.getX();
-@@ -9538,7 +9594,28 @@
+@@ -9434,7 +9490,28 @@
              );
      }
  
@@ -366,7 +366,7 @@
          checkTreeLock();
          Container parent = getContainer();
          if (parent == null) {
-@@ -9550,7 +9627,7 @@
+@@ -9446,7 +9523,7 @@
          return nextAbove < 0 ? -1 : nextAbove;
      }
  
@@ -375,7 +375,7 @@
          checkTreeLock();
          Container parent = getContainer();
          if (parent == null) {
-@@ -9562,6 +9639,11 @@
+@@ -9458,6 +9535,11 @@
          return nextBelow >= parent.getComponentCount() ? -1 : nextBelow;
      }
  
@@ -387,7 +387,7 @@
      private Region calculateCurrentShape() {
          checkTreeLock();
          Region s = getNormalShape();
-@@ -9584,8 +9666,8 @@
+@@ -9480,8 +9562,8 @@
                       * implementation of the Container class.
                       */
                      Component c = cont.getComponent(index);
@@ -398,7 +398,7 @@
                      }
                  }
  
-@@ -9610,6 +9692,9 @@
+@@ -9506,6 +9588,9 @@
      void applyCurrentShape() {
          checkTreeLock();
          if (!areBoundsValid()) {
@@ -408,7 +408,7 @@
              return; // Because applyCompoundShape() ignores such components anyway
          }
          if (mixingLog.isLoggable(Level.FINE)) {
-@@ -9628,16 +9713,54 @@
+@@ -9524,16 +9609,54 @@
          applyCompoundShape(getAppliedShape().getDifference(s));
      }
  
@@ -467,7 +467,7 @@
              } else {
                  applyCurrentShape();
              }
-@@ -9651,12 +9774,12 @@
+@@ -9547,12 +9670,12 @@
              if (mixingLog.isLoggable(Level.FINE)) {
                  mixingLog.fine("this = " + this + "; isLightweight = " + isLightweight);
              }
@@ -485,7 +485,7 @@
          }
      }
  
-@@ -9665,11 +9788,11 @@
+@@ -9561,11 +9684,11 @@
              if (mixingLog.isLoggable(Level.FINE)) {
                  mixingLog.fine("this = " + this);
              }
@@ -501,7 +501,7 @@
              } else {
                  applyCurrentShape();
              }
-@@ -9685,11 +9808,13 @@
+@@ -9581,11 +9704,13 @@
                  mixingLog.fine("this = " + this +
                      "; oldZorder=" + oldZorder + "; newZorder=" + newZorder + "; parent=" + parent);
              }
@@ -518,7 +518,7 @@
                      }
                  } else {
                      if (parent != null) {
-@@ -9705,8 +9830,8 @@
+@@ -9601,8 +9726,8 @@
  
                          for (int index = oldZorder; index < newZorder; index++) {
                              Component c = parent.getComponent(index);
@@ -529,7 +529,7 @@
                              }
                          }
                          applyCompoundShape(shape);
-@@ -9716,21 +9841,42 @@
+@@ -9612,21 +9737,42 @@
          }
      }
  
@@ -584,8 +584,8 @@
      // ****************** END OF MIXING CODE ********************************
  }
 diff -Nru openjdk.orig/jdk/src/share/classes/java/awt/Container.java openjdk/jdk/src/share/classes/java/awt/Container.java
---- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2012-08-31 11:30:58.842483486 +0100
-+++ openjdk/jdk/src/share/classes/java/awt/Container.java	2012-08-31 11:33:55.790065932 +0100
+--- openjdk.orig/jdk/src/share/classes/java/awt/Container.java	2012-09-19 13:58:34.045760479 +0100
++++ openjdk/jdk/src/share/classes/java/awt/Container.java	2012-09-19 14:14:56.133507636 +0100
 @@ -569,7 +569,7 @@
       * @return true if there is at least one heavyweight children in a container, false otherwise
       * @since 1.5
@@ -740,8 +740,8 @@
          }
      }
 diff -Nru openjdk.orig/jdk/src/share/classes/javax/swing/JRootPane.java openjdk/jdk/src/share/classes/javax/swing/JRootPane.java
---- openjdk.orig/jdk/src/share/classes/javax/swing/JRootPane.java	2011-11-14 22:11:56.000000000 +0000
-+++ openjdk/jdk/src/share/classes/javax/swing/JRootPane.java	2012-08-31 11:33:55.790065932 +0100
+--- openjdk.orig/jdk/src/share/classes/javax/swing/JRootPane.java	2011-01-07 21:32:57.000000000 +0000
++++ openjdk/jdk/src/share/classes/javax/swing/JRootPane.java	2012-09-19 14:14:56.133507636 +0100
 @@ -34,6 +34,7 @@
  import java.util.Vector;
  import java.io.Serializable;
@@ -761,8 +761,8 @@
          if (glassPane != null && glassPane.getParent() == this) {
              this.remove(glassPane);
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-08-31 11:30:58.638479343 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-08-31 11:34:42.907016063 +0100
+--- openjdk.orig/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-08-31 11:18:57.951637289 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java	2012-09-19 14:15:53.698430036 +0100
 @@ -1,5 +1,5 @@
  /*
 - * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
@@ -770,9 +770,9 @@
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
-@@ -202,6 +202,13 @@
+@@ -79,6 +79,13 @@
           */
-         Point getLocation(Component comp);
+         void setAppContext(Component comp, AppContext appContext);
  
 +        // See 6797587
 +        // Also see: 6776743, 6768307, and 6768332.
@@ -784,19 +784,19 @@
          /*
           * Returns the acc this component was constructed with.
           */
-@@ -519,6 +526,8 @@
-      * Accessor instances are initialized in the static initializers of
+@@ -330,6 +337,8 @@
       * corresponding AWT classes by using setters defined below.
       */
+     private static WindowAccessor windowAccessor;
 +    /* The java.awt.Component class accessor object.
 +     */
      private static ComponentAccessor componentAccessor;
- 
-     /* The java.awt.KeyboardFocusManager class accessor object.
+     private static KeyboardFocusManagerAccessor kfmAccessor;
+     private static AWTEventAccessor awtEventAccessor;
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java
---- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-08-31 11:30:58.638479343 +0100
-+++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-08-31 11:33:55.794066013 +0100
-@@ -1810,6 +1810,21 @@
+--- openjdk.orig/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-08-31 11:18:57.951637289 +0100
++++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java	2012-09-19 14:14:56.133507636 +0100
+@@ -1840,6 +1840,21 @@
          AWTAutoShutdown.getInstance().dumpPeers(aLog);
      }
  
@@ -819,8 +819,8 @@
       * Returns true if the native GTK libraries are available.  The
       * default implementation returns false, but UNIXToolkit overrides this
 diff -Nru openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/Region.java openjdk/jdk/src/share/classes/sun/java2d/pipe/Region.java
---- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/Region.java	2011-11-14 22:12:00.000000000 +0000
-+++ openjdk/jdk/src/share/classes/sun/java2d/pipe/Region.java	2012-08-31 11:33:55.794066013 +0100
+--- openjdk.orig/jdk/src/share/classes/sun/java2d/pipe/Region.java	2011-01-07 21:33:02.000000000 +0000
++++ openjdk/jdk/src/share/classes/sun/java2d/pipe/Region.java	2012-09-19 14:14:56.133507636 +0100
 @@ -28,6 +28,7 @@
  import java.awt.Rectangle;
  import java.awt.Shape;
@@ -896,9 +896,9 @@
              return false;
          }
 diff -Nru openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
---- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	2012-08-31 11:30:58.642479424 +0100
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	2012-08-31 11:33:55.794066013 +0100
-@@ -1481,13 +1481,23 @@
+--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	2012-08-31 11:18:57.967637622 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java	2012-09-19 14:14:56.133507636 +0100
+@@ -1518,13 +1518,23 @@
              }
              XToolkit.awtLock();
              try {
@@ -930,8 +930,8 @@
                  XToolkit.awtUnlock();
              }
 diff -Nru openjdk.orig/jdk/src/solaris/native/sun/xawt/XlibWrapper.c openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c
---- openjdk.orig/jdk/src/solaris/native/sun/xawt/XlibWrapper.c	2011-11-14 22:12:16.000000000 +0000
-+++ openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c	2012-08-31 11:33:55.794066013 +0100
+--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XlibWrapper.c	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c	2012-09-19 14:14:56.133507636 +0100
 @@ -1933,19 +1933,30 @@
   jint x1, jint y1, jint x2, jint y2,
   jobject region)
@@ -973,8 +973,8 @@
      }
  }
 diff -Nru openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java
---- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-11-14 22:12:17.000000000 +0000
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-08-31 11:33:55.794066013 +0100
+--- openjdk.orig/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2011-01-07 21:33:07.000000000 +0000
++++ openjdk/jdk/src/windows/classes/sun/awt/windows/WComponentPeer.java	2012-09-19 14:14:56.133507636 +0100
 @@ -878,8 +878,12 @@
                      + "; SHAPE: " + shape);
          }
@@ -991,8 +991,8 @@
  
  }
 diff -Nru openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp
---- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-08-31 11:30:58.762481861 +0100
-+++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-08-31 11:33:55.794066013 +0100
+--- openjdk.orig/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-09-19 13:58:33.877757783 +0100
++++ openjdk/jdk/src/windows/native/sun/windows/awt_Component.cpp	2012-09-19 14:14:56.133507636 +0100
 @@ -6321,30 +6321,36 @@
      c = (AwtComponent *)pData;
      if (::IsWindow(c->GetHWnd()))
@@ -1052,7 +1052,7 @@
      }
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/HWDisappear.java openjdk/jdk/test/java/awt/Mixing/HWDisappear.java
 --- openjdk.orig/jdk/test/java/awt/Mixing/HWDisappear.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/java/awt/Mixing/HWDisappear.java	2012-08-31 11:33:55.794066013 +0100
++++ openjdk/jdk/test/java/awt/Mixing/HWDisappear.java	2012-09-19 14:14:56.137507701 +0100
 @@ -0,0 +1,426 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
@@ -1482,7 +1482,7 @@
 +}// TestDialog  class
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/JButtonInGlassPane.java openjdk/jdk/test/java/awt/Mixing/JButtonInGlassPane.java
 --- openjdk.orig/jdk/test/java/awt/Mixing/JButtonInGlassPane.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/java/awt/Mixing/JButtonInGlassPane.java	2012-08-31 11:33:55.794066013 +0100
++++ openjdk/jdk/test/java/awt/Mixing/JButtonInGlassPane.java	2012-09-19 14:14:56.137507701 +0100
 @@ -0,0 +1,430 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
@@ -1916,7 +1916,7 @@
 +
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/LWComboBox.java openjdk/jdk/test/java/awt/Mixing/LWComboBox.java
 --- openjdk.orig/jdk/test/java/awt/Mixing/LWComboBox.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/java/awt/Mixing/LWComboBox.java	2012-08-31 11:33:55.794066013 +0100
++++ openjdk/jdk/test/java/awt/Mixing/LWComboBox.java	2012-09-19 14:14:56.137507701 +0100
 @@ -0,0 +1,425 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
@@ -2345,7 +2345,7 @@
 +
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/MixingOnShrinkingHWButton.java openjdk/jdk/test/java/awt/Mixing/MixingOnShrinkingHWButton.java
 --- openjdk.orig/jdk/test/java/awt/Mixing/MixingOnShrinkingHWButton.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/java/awt/Mixing/MixingOnShrinkingHWButton.java	2012-08-31 11:33:55.798066094 +0100
++++ openjdk/jdk/test/java/awt/Mixing/MixingOnShrinkingHWButton.java	2012-09-19 14:14:56.137507701 +0100
 @@ -0,0 +1,429 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
@@ -2778,7 +2778,7 @@
 +
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/NonOpaqueInternalFrame.java openjdk/jdk/test/java/awt/Mixing/NonOpaqueInternalFrame.java
 --- openjdk.orig/jdk/test/java/awt/Mixing/NonOpaqueInternalFrame.java	1970-01-01 01:00:00.000000000 +0100
-+++ openjdk/jdk/test/java/awt/Mixing/NonOpaqueInternalFrame.java	2012-08-31 11:33:55.798066094 +0100
++++ openjdk/jdk/test/java/awt/Mixing/NonOpaqueInternalFrame.java	2012-09-19 14:14:56.137507701 +0100
 @@ -0,0 +1,434 @@
 +/*
 + * Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
@@ -3215,8 +3215,8 @@
 +
 +
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/OpaqueTest.java openjdk/jdk/test/java/awt/Mixing/OpaqueTest.java
---- openjdk.orig/jdk/test/java/awt/Mixing/OpaqueTest.java	2011-11-14 22:12:20.000000000 +0000
-+++ openjdk/jdk/test/java/awt/Mixing/OpaqueTest.java	2012-08-31 11:33:55.798066094 +0100
+--- openjdk.orig/jdk/test/java/awt/Mixing/OpaqueTest.java	2011-01-07 21:33:08.000000000 +0000
++++ openjdk/jdk/test/java/awt/Mixing/OpaqueTest.java	2012-09-19 14:14:56.137507701 +0100
 @@ -42,6 +42,7 @@
  import java.awt.event.*;
  import javax.swing.*;
@@ -3257,8 +3257,8 @@
  
              robot.mousePress(InputEvent.BUTTON1_MASK);
 diff -Nru openjdk.orig/jdk/test/java/awt/Mixing/OverlappingButtons.java openjdk/jdk/test/java/awt/Mixing/OverlappingButtons.java
---- openjdk.orig/jdk/test/java/awt/Mixing/OverlappingButtons.java	2011-11-14 22:12:20.000000000 +0000
-+++ openjdk/jdk/test/java/awt/Mixing/OverlappingButtons.java	2012-08-31 11:33:55.798066094 +0100
+--- openjdk.orig/jdk/test/java/awt/Mixing/OverlappingButtons.java	2011-01-07 21:33:08.000000000 +0000
++++ openjdk/jdk/test/java/awt/Mixing/OverlappingButtons.java	2012-09-19 14:14:56.137507701 +0100
 @@ -78,6 +78,7 @@
                  {
                      public void actionPerformed(java.awt.event.ActionEvent e) {
--- a/patches/openjdk/7185678-xmenuitem_peer_npe.patch	Mon Sep 10 17:48:48 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-# HG changeset patch
-# User bagiras
-# Date 1344257258 -14400
-# Node ID b3f231f73076617e11b4538d746e8e3733d817ed
-# Parent  94d09decd35e887c353d59c37823a5ece6a71176
-7185678: java/awt/Menu/NullMenuLabelTest/NullMenuLabelTest.java failed with NPE
-Reviewed-by: art, ahgross
-
-diff --git a/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java b/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
-@@ -202,7 +202,8 @@
-         if (target == null) {
-             return "";
-         }
--        return AWTAccessor.getMenuItemAccessor().getLabel(target);
-+        String label = AWTAccessor.getMenuItemAccessor().getLabel(target);
-+        return (label == null) ? "" : label;
-     }
- 
-     boolean isTargetEnabled() {
--- a/patches/security/20120830/7162476-xmldecoder_via_classfinder.patch	Mon Sep 10 17:48:48 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2522 +0,0 @@
-diff --git a/make/sun/Makefile b/make/sun/Makefile
---- openjdk/jdk/make/sun/Makefile
-+++ openjdk/jdk/make/sun/Makefile
-@@ -64,7 +64,7 @@
- SUBDIRS = jar security javazic misc net audio $(RENDER_SUBDIR) image \
- 	  awt splashscreen $(XAWT_SUBDIR) $(MOTIF_SUBDIRS) \
-           $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \
--	  font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \
-+	  font jpeg cmm applet rmi $(JDBC_SUBDIR) \
- 	  jawt text nio launcher management $(ORG_SUBDIR) \
-           native2ascii serialver tools jconsole
- 
-diff --git a/make/sun/beans/Makefile b/make/sun/beans/Makefile
-deleted file mode 100644
---- openjdk/jdk/make/sun/beans/Makefile
-+++ /dev/null
-@@ -1,43 +0,0 @@
--#
--# Copyright (c) 1997, 2005, Oracle and/or its affiliates. All rights reserved.
--# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
--#
--# This code is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License version 2 only, as
--# published by the Free Software Foundation.  Oracle designates this
--# particular file as subject to the "Classpath" exception as provided
--# by Oracle in the LICENSE file that accompanied this code.
--#
--# This code is distributed in the hope that it will be useful, but WITHOUT
--# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
--# version 2 for more details (a copy is included in the LICENSE file that
--# accompanied this code).
--#
--# You should have received a copy of the GNU General Public License version
--# 2 along with this work; if not, write to the Free Software Foundation,
--# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
--#
--# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
--# or visit www.oracle.com if you need additional information or have any
--# questions.
--#
--
--#
--# Makefile for building sun.beans.*
--#
--
--BUILDDIR = ../..
--PACKAGE = sun.beans
--PRODUCT = sun
--include $(BUILDDIR)/common/Defs.gmk
--
--#
--# Files
--#
--AUTO_FILES_JAVA_DIRS = sun/beans
--
--#
--# Rules
--#
--include $(BUILDDIR)/common/Classes.gmk
-diff --git a/src/share/classes/com/sun/beans/editors/BooleanEditor.java b/src/share/classes/com/sun/beans/editors/BooleanEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/BooleanEditor.java
-@@ -0,0 +1,76 @@
-+/*
-+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "boolean" type.
-+ */
-+
-+import java.beans.*;
-+
-+public class BooleanEditor extends PropertyEditorSupport {
-+
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? value.toString()
-+                : "null";
-+    }
-+
-+    public String getAsText() {
-+        Object value = getValue();
-+        return (value instanceof Boolean)
-+             ? getValidName((Boolean) value)
-+             : "null";
-+    }
-+
-+    public void setAsText(String text) throws java.lang.IllegalArgumentException {
-+        if (text == null) {
-+            setValue(null);
-+        } else if (isValidName(true, text)) {
-+            setValue(Boolean.TRUE);
-+        } else if (isValidName(false, text)) {
-+            setValue(Boolean.FALSE);
-+        } else {
-+            throw new java.lang.IllegalArgumentException(text);
-+        }
-+    }
-+
-+    public String[] getTags() {
-+        return new String[] {getValidName(true), getValidName(false)};
-+    }
-+
-+    // the following method should be localized (4890258)
-+
-+    private String getValidName(boolean value) {
-+        return value ? "True" : "False";
-+    }
-+
-+    private boolean isValidName(boolean value, String name) {
-+        return getValidName(value).equalsIgnoreCase(name);
-+    }
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/ByteEditor.java b/src/share/classes/com/sun/beans/editors/ByteEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/ByteEditor.java
-@@ -0,0 +1,48 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "byte" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class ByteEditor extends NumberEditor {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? "((byte)" + value + ")"
-+                : "null";
-+    }
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Byte.decode(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/ColorEditor.java b/src/share/classes/com/sun/beans/editors/ColorEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/ColorEditor.java
-@@ -0,0 +1,212 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+import java.awt.*;
-+import java.beans.*;
-+
-+public class ColorEditor extends Panel implements PropertyEditor {
-+    public ColorEditor() {
-+        setLayout(null);
-+
-+        ourWidth = hPad;
-+
-+        // Create a sample color block bordered in black
-+        Panel p = new Panel();
-+        p.setLayout(null);
-+        p.setBackground(Color.black);
-+        sample = new Canvas();
-+        p.add(sample);
-+        sample.reshape(2, 2, sampleWidth, sampleHeight);
-+        add(p);
-+        p.reshape(ourWidth, 2, sampleWidth+4, sampleHeight+4);
-+        ourWidth += sampleWidth + 4 + hPad;
-+
-+        text = new TextField("", 14);
-+        add(text);
-+        text.reshape(ourWidth,0,100,30);
-+        ourWidth += 100 + hPad;
-+
-+        choser = new Choice();
-+        int active = 0;
-+        for (int i = 0; i < colorNames.length; i++) {
-+            choser.addItem(colorNames[i]);
-+        }
-+        add(choser);
-+        choser.reshape(ourWidth,0,100,30);
-+        ourWidth += 100 + hPad;
-+
-+        resize(ourWidth,40);
-+    }
-+
-+    public void setValue(Object o) {
-+        Color c = (Color)o;
-+        changeColor(c);
-+    }
-+
-+    public Dimension preferredSize() {
-+        return new Dimension(ourWidth, 40);
-+    }
-+
-+    public boolean keyUp(Event e, int key) {
-+        if (e.target == text) {
-+            try {
-+                setAsText(text.getText());
-+            } catch (IllegalArgumentException ex) {
-+                // Quietly ignore.
-+            }
-+        }
-+        return (false);
-+    }
-+
-+    public void setAsText(String s) throws java.lang.IllegalArgumentException {
-+        if (s == null) {
-+            changeColor(null);
-+            return;
-+        }
-+        int c1 = s.indexOf(',');
-+        int c2 = s.indexOf(',', c1+1);
-+        if (c1 < 0 || c2 < 0) {
-+            // Invalid string.
-+            throw new IllegalArgumentException(s);
-+        }
-+        try {
-+            int r = Integer.parseInt(s.substring(0,c1));
-+            int g = Integer.parseInt(s.substring(c1+1, c2));
-+            int b = Integer.parseInt(s.substring(c2+1));
-+            Color c = new Color(r,g,b);
-+            changeColor(c);
-+        } catch (Exception ex) {
-+            throw new IllegalArgumentException(s);
-+        }
-+
-+    }
-+
-+    public boolean action(Event e, Object arg) {
-+        if (e.target == choser) {
-+            changeColor(colors[choser.getSelectedIndex()]);
-+        }
-+        return false;
-+    }
-+
-+    public String getJavaInitializationString() {
-+        return (this.color != null)
-+                ? "new java.awt.Color(" + this.color.getRGB() + ",true)"
-+                : "null";
-+    }
-+
-+
-+    private void changeColor(Color c) {
-+
-+        if (c == null) {
-+            this.color = null;
-+            this.text.setText("");
-+            return;
-+        }
-+
-+        color = c;
-+
-+        text.setText("" + c.getRed() + "," + c.getGreen() + "," + c.getBlue());
-+
-+        int active = 0;
-+        for (int i = 0; i < colorNames.length; i++) {
-+            if (color.equals(colors[i])) {
-+                active = i;
-+            }
-+        }
-+        choser.select(active);
-+
-+        sample.setBackground(color);
-+        sample.repaint();
-+
-+        support.firePropertyChange("", null, null);
-+    }
-+
-+    public Object getValue() {
-+        return color;
-+    }
-+
-+    public boolean isPaintable() {
-+        return true;
-+    }
-+
-+    public void paintValue(java.awt.Graphics gfx, java.awt.Rectangle box) {
-+        Color oldColor = gfx.getColor();
-+        gfx.setColor(Color.black);
-+        gfx.drawRect(box.x, box.y, box.width-3, box.height-3);
-+        gfx.setColor(color);
-+        gfx.fillRect(box.x+1, box.y+1, box.width-4, box.height-4);
-+        gfx.setColor(oldColor);
-+    }
-+
-+    public String getAsText() {
-+        return (this.color != null)
-+                ? this.color.getRed() + "," + this.color.getGreen() + "," + this.color.getBlue()
-+                : "null";
-+    }
-+
-+    public String[] getTags() {
-+        return null;
-+    }
-+
-+    public java.awt.Component getCustomEditor() {
-+        return this;
-+    }
-+
-+    public boolean supportsCustomEditor() {
-+        return true;
-+    }
-+
-+    public void addPropertyChangeListener(PropertyChangeListener l) {
-+        support.addPropertyChangeListener(l);
-+    }
-+
-+    public void removePropertyChangeListener(PropertyChangeListener l) {
-+        support.removePropertyChangeListener(l);
-+    }
-+
-+
-+    private String colorNames[] = { " ", "white", "lightGray", "gray", "darkGray",
-+                        "black", "red", "pink", "orange",
-+                        "yellow", "green", "magenta", "cyan",
-+                        "blue"};
-+    private Color colors[] = { null, Color.white, Color.lightGray, Color.gray, Color.darkGray,
-+                        Color.black, Color.red, Color.pink, Color.orange,
-+                        Color.yellow, Color.green, Color.magenta, Color.cyan,
-+                        Color.blue};
-+
-+    private Canvas sample;
-+    private int sampleHeight = 20;
-+    private int sampleWidth = 40;
-+    private int hPad = 5;
-+    private int ourWidth;
-+
-+    private Color color;
-+    private TextField text;
-+    private Choice choser;
-+
-+    private PropertyChangeSupport support = new PropertyChangeSupport(this);
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/DoubleEditor.java b/src/share/classes/com/sun/beans/editors/DoubleEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/DoubleEditor.java
-@@ -0,0 +1,41 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "double" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class DoubleEditor extends NumberEditor {
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Double.valueOf(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/EnumEditor.java b/src/share/classes/com/sun/beans/editors/EnumEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/EnumEditor.java
-@@ -0,0 +1,142 @@
-+/*
-+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+package com.sun.beans.editors;
-+
-+import java.awt.Component;
-+import java.awt.Graphics;
-+import java.awt.Rectangle;
-+import java.beans.PropertyChangeEvent;
-+import java.beans.PropertyChangeListener;
-+import java.beans.PropertyEditor;
-+import java.util.ArrayList;
-+import java.util.List;
-+
-+/**
-+ * Property editor for java.lang.Enum subclasses.
-+ *
-+ * @see PropertyEditor
-+ *
-+ * @since 1.7
-+ *
-+ * @author Sergey A. Malenkov
-+ */
-+public final class EnumEditor implements PropertyEditor {
-+    private final List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>();
-+
-+    private final Class type;
-+    private final String[] tags;
-+
-+    private Object value;
-+
-+    public EnumEditor( Class type ) {
-+        Object[] values = type.getEnumConstants();
-+        if ( values == null ) {
-+            throw new IllegalArgumentException( "Unsupported " + type );
-+        }
-+        this.type = type;
-+        this.tags = new String[values.length];
-+        for ( int i = 0; i < values.length; i++ ) {
-+            this.tags[i] = ( ( Enum )values[i] ).name();
-+        }
-+    }
-+
-+    public Object getValue() {
-+        return this.value;
-+    }
-+
-+    public void setValue( Object value ) {
-+        if ( ( value != null ) && !this.type.isInstance( value ) ) {
-+            throw new IllegalArgumentException( "Unsupported value: " + value );
-+        }
-+        Object oldValue;
-+        PropertyChangeListener[] listeners;
-+        synchronized ( this.listeners ) {
-+            oldValue = this.value;
-+            this.value = value;
-+
-+            if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
-+                return; // do not fire event if value is not changed
-+            }
-+            int size = this.listeners.size();
-+            if ( size == 0 ) {
-+                return; // do not fire event if there are no any listener
-+            }
-+            listeners = this.listeners.toArray( new PropertyChangeListener[size] );
-+        }
-+        PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
-+        for ( PropertyChangeListener listener : listeners ) {
-+            listener.propertyChange( event );
-+        }
-+    }
-+
-+    public String getAsText() {
-+        return ( this.value != null )
-+                ? ( ( Enum )this.value ).name()
-+                : "null";
-+    }
-+
-+    public void setAsText( String text ) {
-+        setValue( ( text != null )
-+                ? Enum.valueOf( this.type, text )
-+                : null );
-+    }
-+
-+    public String[] getTags() {
-+        return this.tags.clone();
-+    }
-+
-+    public String getJavaInitializationString() {
-+        return ( this.value != null )
-+                ? this.type.getName() + '.' + ( ( Enum )this.value ).name()
-+                : "null";
-+    }
-+
-+    public boolean isPaintable() {
-+        return false;
-+    }
-+
-+    public void paintValue( Graphics gfx, Rectangle box ) {
-+    }
-+
-+    public boolean supportsCustomEditor() {
-+        return false;
-+    }
-+
-+    public Component getCustomEditor() {
-+        return null;
-+    }
-+
-+    public void addPropertyChangeListener( PropertyChangeListener listener ) {
-+        synchronized ( this.listeners ) {
-+            this.listeners.add( listener );
-+        }
-+    }
-+
-+    public void removePropertyChangeListener( PropertyChangeListener listener ) {
-+        synchronized ( this.listeners ) {
-+            this.listeners.remove( listener );
-+        }
-+    }
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/FloatEditor.java b/src/share/classes/com/sun/beans/editors/FloatEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/FloatEditor.java
-@@ -0,0 +1,48 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "float" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class FloatEditor extends NumberEditor {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? value + "F"
-+                : "null";
-+    }
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Float.valueOf(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/FontEditor.java b/src/share/classes/com/sun/beans/editors/FontEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/FontEditor.java
-@@ -0,0 +1,218 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+import java.awt.*;
-+import java.beans.*;
-+
-+public class FontEditor extends Panel implements java.beans.PropertyEditor {
-+
-+    public FontEditor() {
-+        setLayout(null);
-+
-+        toolkit = Toolkit.getDefaultToolkit();
-+        fonts = toolkit.getFontList();
-+
-+        familyChoser = new Choice();
-+        for (int i = 0; i < fonts.length; i++) {
-+            familyChoser.addItem(fonts[i]);
-+        }
-+        add(familyChoser);
-+        familyChoser.reshape(20, 5, 100, 30);
-+
-+        styleChoser = new Choice();
-+        for (int i = 0; i < styleNames.length; i++) {
-+            styleChoser.addItem(styleNames[i]);
-+        }
-+        add(styleChoser);
-+        styleChoser.reshape(145, 5, 70, 30);
-+
-+        sizeChoser = new Choice();
-+        for (int i = 0; i < pointSizes.length; i++) {
-+            sizeChoser.addItem("" + pointSizes[i]);
-+        }
-+        add(sizeChoser);
-+        sizeChoser.reshape(220, 5, 70, 30);
-+
-+        resize(300,40);
-+    }
-+
-+
-+    public Dimension preferredSize() {
-+        return new Dimension(300, 40);
-+    }
-+
-+    public void setValue(Object o) {
-+        font = (Font) o;
-+        if (this.font == null)
-+            return;
-+
-+        changeFont(font);
-+        // Update the current GUI choices.
-+        for (int i = 0; i < fonts.length; i++) {
-+            if (fonts[i].equals(font.getFamily())) {
-+                familyChoser.select(i);
-+                break;
-+            }
-+        }
-+        for (int i = 0; i < styleNames.length; i++) {
-+            if (font.getStyle() == styles[i]) {
-+                styleChoser.select(i);
-+                break;
-+            }
-+        }
-+        for (int i = 0; i < pointSizes.length; i++) {
-+            if (font.getSize() <= pointSizes[i]) {
-+                sizeChoser.select(i);
-+                break;
-+            }
-+        }
-+    }
-+
-+    private void changeFont(Font f) {
-+        font = f;
-+        if (sample != null) {
-+            remove(sample);
-+        }
-+        sample = new Label(sampleText);
-+        sample.setFont(font);
-+        add(sample);
-+        Component p = getParent();
-+        if (p != null) {
-+            p.invalidate();
-+            p.layout();
-+        }
-+        invalidate();
-+        layout();
-+        repaint();
-+        support.firePropertyChange("", null, null);
-+    }
-+
-+    public Object getValue() {
-+        return (font);
-+    }
-+
-+    public String getJavaInitializationString() {
-+        if (this.font == null)
-+            return "null";
-+
-+        return "new java.awt.Font(\"" + font.getName() + "\", " +
-+                   font.getStyle() + ", " + font.getSize() + ")";
-+    }
-+
-+    public boolean action(Event e, Object arg) {
-+        String family = familyChoser.getSelectedItem();
-+        int style = styles[styleChoser.getSelectedIndex()];
-+        int size = pointSizes[sizeChoser.getSelectedIndex()];
-+        try {
-+            Font f = new Font(family, style, size);
-+            changeFont(f);
-+        } catch (Exception ex) {
-+            System.err.println("Couldn't create font " + family + "-" +
-+                        styleNames[style] + "-" + size);
-+        }
-+        return (false);
-+    }
-+
-+
-+    public boolean isPaintable() {
-+        return true;
-+    }
-+
-+    public void paintValue(java.awt.Graphics gfx, java.awt.Rectangle box) {
-+        // Silent noop.
-+        Font oldFont = gfx.getFont();
-+        gfx.setFont(font);
-+        FontMetrics fm = gfx.getFontMetrics();
-+        int vpad = (box.height - fm.getAscent())/2;
-+        gfx.drawString(sampleText, 0, box.height-vpad);
-+        gfx.setFont(oldFont);
-+    }
-+
-+    public String getAsText() {
-+        if (this.font == null) {
-+            return "null";
-+        }
-+        StringBuilder sb = new StringBuilder();
-+        sb.append(this.font.getName());
-+        sb.append(' ');
-+
-+        boolean b = this.font.isBold();
-+        if (b) {
-+            sb.append("BOLD");
-+        }
-+        boolean i = this.font.isItalic();
-+        if (i) {
-+            sb.append("ITALIC");
-+        }
-+        if (b || i) {
-+            sb.append(' ');
-+        }
-+        sb.append(this.font.getSize());
-+        return sb.toString();
-+    }
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Font.decode(text));
-+    }
-+
-+    public String[] getTags() {
-+        return null;
-+    }
-+
-+    public java.awt.Component getCustomEditor() {
-+        return this;
-+    }
-+
-+    public boolean supportsCustomEditor() {
-+        return true;
-+    }
-+
-+    public void addPropertyChangeListener(PropertyChangeListener l) {
-+        support.addPropertyChangeListener(l);
-+    }
-+
-+    public void removePropertyChangeListener(PropertyChangeListener l) {
-+        support.removePropertyChangeListener(l);
-+    }
-+
-+    private Font font;
-+    private Toolkit toolkit;
-+    private String sampleText = "Abcde...";
-+
-+    private Label sample;
-+    private Choice familyChoser;
-+    private Choice styleChoser;
-+    private Choice sizeChoser;
-+
-+    private String fonts[];
-+    private String[] styleNames = { "plain", "bold", "italic" };
-+    private int[] styles = { Font.PLAIN, Font.BOLD, Font.ITALIC };
-+    private int[] pointSizes = { 3, 5, 8, 10, 12, 14, 18, 24, 36, 48 };
-+
-+    private PropertyChangeSupport support = new PropertyChangeSupport(this);
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/IntegerEditor.java b/src/share/classes/com/sun/beans/editors/IntegerEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/IntegerEditor.java
-@@ -0,0 +1,42 @@
-+/*
-+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "int" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class IntegerEditor extends NumberEditor {
-+
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Integer.decode(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/LongEditor.java b/src/share/classes/com/sun/beans/editors/LongEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/LongEditor.java
-@@ -0,0 +1,48 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "long" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class LongEditor extends NumberEditor {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? value + "L"
-+                : "null";
-+    }
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Long.decode(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/NumberEditor.java b/src/share/classes/com/sun/beans/editors/NumberEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/NumberEditor.java
-@@ -0,0 +1,44 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Abstract Property editor for a java builtin number types.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+abstract public class NumberEditor extends PropertyEditorSupport {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? value.toString()
-+                : "null";
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/ShortEditor.java b/src/share/classes/com/sun/beans/editors/ShortEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/ShortEditor.java
-@@ -0,0 +1,49 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+
-+package com.sun.beans.editors;
-+
-+/**
-+ * Property editor for a java builtin "short" type.
-+ *
-+ */
-+
-+import java.beans.*;
-+
-+public class ShortEditor extends NumberEditor {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        return (value != null)
-+                ? "((short)" + value + ")"
-+                : "null";
-+    }
-+
-+    public void setAsText(String text) throws IllegalArgumentException {
-+        setValue((text == null) ? null : Short.decode(text));
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/editors/StringEditor.java b/src/share/classes/com/sun/beans/editors/StringEditor.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/editors/StringEditor.java
-@@ -0,0 +1,74 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+
-+package com.sun.beans.editors;
-+
-+import java.beans.*;
-+
-+public class StringEditor extends PropertyEditorSupport {
-+
-+    public String getJavaInitializationString() {
-+        Object value = getValue();
-+        if (value == null)
-+            return "null";
-+
-+        String str = value.toString();
-+        int length = str.length();
-+        StringBuilder sb = new StringBuilder(length + 2);
-+        sb.append('"');
-+        for (int i = 0; i < length; i++) {
-+            char ch = str.charAt(i);
-+            switch (ch) {
-+            case '\b': sb.append("\\b");  break;
-+            case '\t': sb.append("\\t");  break;
-+            case '\n': sb.append("\\n");  break;
-+            case '\f': sb.append("\\f");  break;
-+            case '\r': sb.append("\\r");  break;
-+            case '\"': sb.append("\\\""); break;
-+            case '\\': sb.append("\\\\"); break;
-+            default:
-+                if ((ch < ' ') || (ch > '~')) {
-+                    sb.append("\\u");
-+                    String hex = Integer.toHexString((int) ch);
-+                    for (int len = hex.length(); len < 4; len++) {
-+                        sb.append('0');
-+                    }
-+                    sb.append(hex);
-+                } else {
-+                    sb.append(ch);
-+                }
-+                break;
-+            }
-+        }
-+        sb.append('"');
-+        return sb.toString();
-+    }
-+
-+    public void setAsText(String text) {
-+        setValue(text);
-+    }
-+
-+}
-diff --git a/src/share/classes/com/sun/beans/finder/ClassFinder.java b/src/share/classes/com/sun/beans/finder/ClassFinder.java
---- openjdk/jdk/src/share/classes/com/sun/beans/finder/ClassFinder.java
-+++ openjdk/jdk/src/share/classes/com/sun/beans/finder/ClassFinder.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2006, 2012, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -24,6 +24,8 @@
-  */
- package com.sun.beans.finder;
- 
-+import static sun.reflect.misc.ReflectUtil.checkPackageAccess;
-+
- /**
-  * This is utility class that provides <code>static</code> methods
-  * to find a class with the specified name using the specified class loader.
-@@ -53,6 +55,7 @@
-      * @see Thread#getContextClassLoader()
-      */
-     public static Class findClass( String name ) throws ClassNotFoundException {
-+        checkPackageAccess(name);
-         try {
-             ClassLoader loader = Thread.currentThread().getContextClassLoader();
-             if ( loader == null ) {
-@@ -93,6 +96,7 @@
-      * @see Class#forName(String,boolean,ClassLoader)
-      */
-     public static Class findClass( String name, ClassLoader loader ) throws ClassNotFoundException {
-+        checkPackageAccess(name);
-         if ( loader != null ) {
-             try {
-                 return Class.forName( name, false, loader );
-diff --git a/src/share/classes/com/sun/beans/infos/ComponentBeanInfo.java b/src/share/classes/com/sun/beans/infos/ComponentBeanInfo.java
-new file mode 100644
---- /dev/null
-+++ openjdk/jdk/src/share/classes/com/sun/beans/infos/ComponentBeanInfo.java
-@@ -0,0 +1,62 @@
-+/*
-+ * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.  Oracle designates this
-+ * particular file as subject to the "Classpath" exception as provided
-+ * by Oracle in the LICENSE file that accompanied this code.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ */
-+
-+package com.sun.beans.infos;
-+
-+import java.beans.*;
-+
-+/**
-+ * BeanInfo descriptor for a standard AWT component.
-+ */
-+
-+public class ComponentBeanInfo extends SimpleBeanInfo {
-+    private static final Class beanClass = java.awt.Component.class;
-+
-+    public PropertyDescriptor[] getPropertyDescriptors() {
-+        try {
-+            PropertyDescriptor
-+                      name = new PropertyDescriptor("name",       beanClass),
-+                background = new PropertyDescriptor("background", beanClass),
-+                foreground = new PropertyDescriptor("foreground", beanClass),
-+                      font = new PropertyDescriptor("font",       beanClass),
-+                   enabled = new PropertyDescriptor("enabled",    beanClass),
-+                   visible = new PropertyDescriptor("visible",    beanClass),
-+                 focusable = new PropertyDescriptor("focusable",  beanClass);
-+
-+            enabled.setExpert(true);
-+            visible.setHidden(true);
-+
-+            background.setBound(true);
-+            foreground.setBound(true);
-+            font.setBound(true);
-+            focusable.setBound(true);
-+
-+            PropertyDescriptor[] rv = {name, background, foreground, font, enabled, visible, focusable };
-+            return rv;
-+        } catch (IntrospectionException e) {
-+            throw new Error(e.toString());
-+        }
-+    }
-+}
-diff --git a/src/share/classes/java/beans/Introspector.java b/src/share/classes/java/beans/Introspector.java
---- openjdk/jdk/src/share/classes/java/beans/Introspector.java
-+++ openjdk/jdk/src/share/classes/java/beans/Introspector.java
-@@ -139,8 +139,9 @@
-     private Map events;
- 
-     private final static String DEFAULT_INFO_PATH = "sun.beans.infos";
-+    private final static String DEFAULT_INFO_PATH_NEW = "com.sun.beans.infos";
- 
--    private static String[] searchPath = { DEFAULT_INFO_PATH };
-+    private static String[] searchPath = { DEFAULT_INFO_PATH_NEW };
- 
-     private final static EventSetDescriptor[] EMPTY_EVENTSETDESCRIPTORS = new EventSetDescriptor[0];
- 
-@@ -460,10 +461,13 @@
-         name = name.substring(name.lastIndexOf('.')+1);
- 
-         for (int i = 0; i < searchPath.length; i++) {
-+            if (DEFAULT_INFO_PATH.equals(searchPath[i])) {
-+                searchPath[i] = DEFAULT_INFO_PATH_NEW;
-+            }
-             // This optimization will only use the BeanInfo search path if is has changed
-             // from the original or trying to get the ComponentBeanInfo.
--            if (!DEFAULT_INFO_PATH.equals(searchPath[i]) ||
--                DEFAULT_INFO_PATH.equals(searchPath[i]) && "ComponentBeanInfo".equals(name)) {
-+            if (!DEFAULT_INFO_PATH_NEW.equals(searchPath[i]) ||
-+                DEFAULT_INFO_PATH_NEW.equals(searchPath[i]) && "ComponentBeanInfo".equals(name)) {
-                 try {
-                     String fullName = searchPath[i] + "." + name;
-                     java.beans.BeanInfo bi = (java.beans.BeanInfo)instantiate(beanClass, fullName);
-diff --git a/src/share/classes/java/beans/PropertyEditorManager.java b/src/share/classes/java/beans/PropertyEditorManager.java
---- openjdk/jdk/src/share/classes/java/beans/PropertyEditorManager.java
-+++ openjdk/jdk/src/share/classes/java/beans/PropertyEditorManager.java
-@@ -25,7 +25,7 @@
- 
- package java.beans;
- 
--import sun.beans.editors.*;
-+import com.sun.beans.editors.*;
- 
- /**
-  * The PropertyEditorManager can be used to locate a property editor for
-@@ -119,6 +119,8 @@
-             editorName = editorName.substring(index);
-         }
-         for (String path : searchPath) {
-+            if (path.startsWith(DEFAULT))
-+                path = path.replace(DEFAULT, DEFAULT_NEW);
-             String name = path + '.' + editorName;
-             try {
-                 return (PropertyEditor) Introspector.instantiate(targetType, name);
-@@ -140,7 +142,7 @@
-      * @return  The array of package names that will be searched in
-      *          order to find property editors.
-      * <p>     The default value for this array is implementation-dependent,
--     *         e.g. Sun implementation initially sets to  {"sun.beans.editors"}.
-+     *         e.g. Sun implementation initially sets to  {"com.sun.beans.editors"}.
-      */
-     public static synchronized String[] getEditorSearchPath() {
-         // Return a copy of the searchPath.
-@@ -188,6 +190,8 @@
-         registry.put(Double.TYPE, DoubleEditor.class);
-     }
- 
--    private static String[] searchPath = { "sun.beans.editors" };
-+    private static final String DEFAULT = "sun.beans.editors";
-+    private static final String DEFAULT_NEW = "com.sun.beans.editors";
-+    private static String[] searchPath = { DEFAULT_NEW };
-     private static java.util.Hashtable registry;
- }
-diff --git a/src/share/classes/sun/beans/editors/BooleanEditor.java b/src/share/classes/sun/beans/editors/BooleanEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/BooleanEditor.java
-+++ /dev/null
-@@ -1,76 +0,0 @@
--/*
-- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "boolean" type.
-- */
--
--import java.beans.*;
--
--public class BooleanEditor extends PropertyEditorSupport {
--
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? value.toString()
--                : "null";
--    }
--
--    public String getAsText() {
--        Object value = getValue();
--        return (value instanceof Boolean)
--             ? getValidName((Boolean) value)
--             : "null";
--    }
--
--    public void setAsText(String text) throws java.lang.IllegalArgumentException {
--        if (text == null) {
--            setValue(null);
--        } else if (isValidName(true, text)) {
--            setValue(Boolean.TRUE);
--        } else if (isValidName(false, text)) {
--            setValue(Boolean.FALSE);
--        } else {
--            throw new java.lang.IllegalArgumentException(text);
--        }
--    }
--
--    public String[] getTags() {
--        return new String[] {getValidName(true), getValidName(false)};
--    }
--
--    // the following method should be localized (4890258)
--
--    private String getValidName(boolean value) {
--        return value ? "True" : "False";
--    }
--
--    private boolean isValidName(boolean value, String name) {
--        return getValidName(value).equalsIgnoreCase(name);
--    }
--}
-diff --git a/src/share/classes/sun/beans/editors/ByteEditor.java b/src/share/classes/sun/beans/editors/ByteEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/ByteEditor.java
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "byte" type.
-- *
-- */
--
--import java.beans.*;
--
--public class ByteEditor extends NumberEditor {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? "((byte)" + value + ")"
--                : "null";
--    }
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Byte.decode(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/ColorEditor.java b/src/share/classes/sun/beans/editors/ColorEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/ColorEditor.java
-+++ /dev/null
-@@ -1,212 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--import java.awt.*;
--import java.beans.*;
--
--public class ColorEditor extends Panel implements PropertyEditor {
--    public ColorEditor() {
--        setLayout(null);
--
--        ourWidth = hPad;
--
--        // Create a sample color block bordered in black
--        Panel p = new Panel();
--        p.setLayout(null);
--        p.setBackground(Color.black);
--        sample = new Canvas();
--        p.add(sample);
--        sample.reshape(2, 2, sampleWidth, sampleHeight);
--        add(p);
--        p.reshape(ourWidth, 2, sampleWidth+4, sampleHeight+4);
--        ourWidth += sampleWidth + 4 + hPad;
--
--        text = new TextField("", 14);
--        add(text);
--        text.reshape(ourWidth,0,100,30);
--        ourWidth += 100 + hPad;
--
--        choser = new Choice();
--        int active = 0;
--        for (int i = 0; i < colorNames.length; i++) {
--            choser.addItem(colorNames[i]);
--        }
--        add(choser);
--        choser.reshape(ourWidth,0,100,30);
--        ourWidth += 100 + hPad;
--
--        resize(ourWidth,40);
--    }
--
--    public void setValue(Object o) {
--        Color c = (Color)o;
--        changeColor(c);
--    }
--
--    public Dimension preferredSize() {
--        return new Dimension(ourWidth, 40);
--    }
--
--    public boolean keyUp(Event e, int key) {
--        if (e.target == text) {
--            try {
--                setAsText(text.getText());
--            } catch (IllegalArgumentException ex) {
--                // Quietly ignore.
--            }
--        }
--        return (false);
--    }
--
--    public void setAsText(String s) throws java.lang.IllegalArgumentException {
--        if (s == null) {
--            changeColor(null);
--            return;
--        }
--        int c1 = s.indexOf(',');
--        int c2 = s.indexOf(',', c1+1);
--        if (c1 < 0 || c2 < 0) {
--            // Invalid string.
--            throw new IllegalArgumentException(s);
--        }
--        try {
--            int r = Integer.parseInt(s.substring(0,c1));
--            int g = Integer.parseInt(s.substring(c1+1, c2));
--            int b = Integer.parseInt(s.substring(c2+1));
--            Color c = new Color(r,g,b);
--            changeColor(c);
--        } catch (Exception ex) {
--            throw new IllegalArgumentException(s);
--        }
--
--    }
--
--    public boolean action(Event e, Object arg) {
--        if (e.target == choser) {
--            changeColor(colors[choser.getSelectedIndex()]);
--        }
--        return false;
--    }
--
--    public String getJavaInitializationString() {
--        return (this.color != null)
--                ? "new java.awt.Color(" + this.color.getRGB() + ",true)"
--                : "null";
--    }
--
--
--    private void changeColor(Color c) {
--
--        if (c == null) {
--            this.color = null;
--            this.text.setText("");
--            return;
--        }
--
--        color = c;
--
--        text.setText("" + c.getRed() + "," + c.getGreen() + "," + c.getBlue());
--
--        int active = 0;
--        for (int i = 0; i < colorNames.length; i++) {
--            if (color.equals(colors[i])) {
--                active = i;
--            }
--        }
--        choser.select(active);
--
--        sample.setBackground(color);
--        sample.repaint();
--
--        support.firePropertyChange("", null, null);
--    }
--
--    public Object getValue() {
--        return color;
--    }
--
--    public boolean isPaintable() {
--        return true;
--    }
--
--    public void paintValue(java.awt.Graphics gfx, java.awt.Rectangle box) {
--        Color oldColor = gfx.getColor();
--        gfx.setColor(Color.black);
--        gfx.drawRect(box.x, box.y, box.width-3, box.height-3);
--        gfx.setColor(color);
--        gfx.fillRect(box.x+1, box.y+1, box.width-4, box.height-4);
--        gfx.setColor(oldColor);
--    }
--
--    public String getAsText() {
--        return (this.color != null)
--                ? this.color.getRed() + "," + this.color.getGreen() + "," + this.color.getBlue()
--                : "null";
--    }
--
--    public String[] getTags() {
--        return null;
--    }
--
--    public java.awt.Component getCustomEditor() {
--        return this;
--    }
--
--    public boolean supportsCustomEditor() {
--        return true;
--    }
--
--    public void addPropertyChangeListener(PropertyChangeListener l) {
--        support.addPropertyChangeListener(l);
--    }
--
--    public void removePropertyChangeListener(PropertyChangeListener l) {
--        support.removePropertyChangeListener(l);
--    }
--
--
--    private String colorNames[] = { " ", "white", "lightGray", "gray", "darkGray",
--                        "black", "red", "pink", "orange",
--                        "yellow", "green", "magenta", "cyan",
--                        "blue"};
--    private Color colors[] = { null, Color.white, Color.lightGray, Color.gray, Color.darkGray,
--                        Color.black, Color.red, Color.pink, Color.orange,
--                        Color.yellow, Color.green, Color.magenta, Color.cyan,
--                        Color.blue};
--
--    private Canvas sample;
--    private int sampleHeight = 20;
--    private int sampleWidth = 40;
--    private int hPad = 5;
--    private int ourWidth;
--
--    private Color color;
--    private TextField text;
--    private Choice choser;
--
--    private PropertyChangeSupport support = new PropertyChangeSupport(this);
--}
-diff --git a/src/share/classes/sun/beans/editors/DoubleEditor.java b/src/share/classes/sun/beans/editors/DoubleEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/DoubleEditor.java
-+++ /dev/null
-@@ -1,41 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "double" type.
-- *
-- */
--
--import java.beans.*;
--
--public class DoubleEditor extends NumberEditor {
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Double.valueOf(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/EnumEditor.java b/src/share/classes/sun/beans/editors/EnumEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/EnumEditor.java
-+++ /dev/null
-@@ -1,142 +0,0 @@
--/*
-- * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--package sun.beans.editors;
--
--import java.awt.Component;
--import java.awt.Graphics;
--import java.awt.Rectangle;
--import java.beans.PropertyChangeEvent;
--import java.beans.PropertyChangeListener;
--import java.beans.PropertyEditor;
--import java.util.ArrayList;
--import java.util.List;
--
--/**
-- * Property editor for java.lang.Enum subclasses.
-- *
-- * @see PropertyEditor
-- *
-- * @since 1.7
-- *
-- * @author Sergey A. Malenkov
-- */
--public final class EnumEditor implements PropertyEditor {
--    private final List<PropertyChangeListener> listeners = new ArrayList<PropertyChangeListener>();
--
--    private final Class type;
--    private final String[] tags;
--
--    private Object value;
--
--    public EnumEditor( Class type ) {
--        Object[] values = type.getEnumConstants();
--        if ( values == null ) {
--            throw new IllegalArgumentException( "Unsupported " + type );
--        }
--        this.type = type;
--        this.tags = new String[values.length];
--        for ( int i = 0; i < values.length; i++ ) {
--            this.tags[i] = ( ( Enum )values[i] ).name();
--        }
--    }
--
--    public Object getValue() {
--        return this.value;
--    }
--
--    public void setValue( Object value ) {
--        if ( ( value != null ) && !this.type.isInstance( value ) ) {
--            throw new IllegalArgumentException( "Unsupported value: " + value );
--        }
--        Object oldValue;
--        PropertyChangeListener[] listeners;
--        synchronized ( this.listeners ) {
--            oldValue = this.value;
--            this.value = value;
--
--            if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
--                return; // do not fire event if value is not changed
--            }
--            int size = this.listeners.size();
--            if ( size == 0 ) {
--                return; // do not fire event if there are no any listener
--            }
--            listeners = this.listeners.toArray( new PropertyChangeListener[size] );
--        }
--        PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
--        for ( PropertyChangeListener listener : listeners ) {
--            listener.propertyChange( event );
--        }
--    }
--
--    public String getAsText() {
--        return ( this.value != null )
--                ? ( ( Enum )this.value ).name()
--                : "null";
--    }
--
--    public void setAsText( String text ) {
--        setValue( ( text != null )
--                ? Enum.valueOf( this.type, text )
--                : null );
--    }
--
--    public String[] getTags() {
--        return this.tags.clone();
--    }
--
--    public String getJavaInitializationString() {
--        return ( this.value != null )
--                ? this.type.getName() + '.' + ( ( Enum )this.value ).name()
--                : "null";
--    }
--
--    public boolean isPaintable() {
--        return false;
--    }
--
--    public void paintValue( Graphics gfx, Rectangle box ) {
--    }
--
--    public boolean supportsCustomEditor() {
--        return false;
--    }
--
--    public Component getCustomEditor() {
--        return null;
--    }
--
--    public void addPropertyChangeListener( PropertyChangeListener listener ) {
--        synchronized ( this.listeners ) {
--            this.listeners.add( listener );
--        }
--    }
--
--    public void removePropertyChangeListener( PropertyChangeListener listener ) {
--        synchronized ( this.listeners ) {
--            this.listeners.remove( listener );
--        }
--    }
--}
-diff --git a/src/share/classes/sun/beans/editors/FloatEditor.java b/src/share/classes/sun/beans/editors/FloatEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/FloatEditor.java
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "float" type.
-- *
-- */
--
--import java.beans.*;
--
--public class FloatEditor extends NumberEditor {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? value + "F"
--                : "null";
--    }
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Float.valueOf(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/FontEditor.java b/src/share/classes/sun/beans/editors/FontEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/FontEditor.java
-+++ /dev/null
-@@ -1,218 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--import java.awt.*;
--import java.beans.*;
--
--public class FontEditor extends Panel implements java.beans.PropertyEditor {
--
--    public FontEditor() {
--        setLayout(null);
--
--        toolkit = Toolkit.getDefaultToolkit();
--        fonts = toolkit.getFontList();
--
--        familyChoser = new Choice();
--        for (int i = 0; i < fonts.length; i++) {
--            familyChoser.addItem(fonts[i]);
--        }
--        add(familyChoser);
--        familyChoser.reshape(20, 5, 100, 30);
--
--        styleChoser = new Choice();
--        for (int i = 0; i < styleNames.length; i++) {
--            styleChoser.addItem(styleNames[i]);
--        }
--        add(styleChoser);
--        styleChoser.reshape(145, 5, 70, 30);
--
--        sizeChoser = new Choice();
--        for (int i = 0; i < pointSizes.length; i++) {
--            sizeChoser.addItem("" + pointSizes[i]);
--        }
--        add(sizeChoser);
--        sizeChoser.reshape(220, 5, 70, 30);
--
--        resize(300,40);
--    }
--
--
--    public Dimension preferredSize() {
--        return new Dimension(300, 40);
--    }
--
--    public void setValue(Object o) {
--        font = (Font) o;
--        if (this.font == null)
--            return;
--
--        changeFont(font);
--        // Update the current GUI choices.
--        for (int i = 0; i < fonts.length; i++) {
--            if (fonts[i].equals(font.getFamily())) {
--                familyChoser.select(i);
--                break;
--            }
--        }
--        for (int i = 0; i < styleNames.length; i++) {
--            if (font.getStyle() == styles[i]) {
--                styleChoser.select(i);
--                break;
--            }
--        }
--        for (int i = 0; i < pointSizes.length; i++) {
--            if (font.getSize() <= pointSizes[i]) {
--                sizeChoser.select(i);
--                break;
--            }
--        }
--    }
--
--    private void changeFont(Font f) {
--        font = f;
--        if (sample != null) {
--            remove(sample);
--        }
--        sample = new Label(sampleText);
--        sample.setFont(font);
--        add(sample);
--        Component p = getParent();
--        if (p != null) {
--            p.invalidate();
--            p.layout();
--        }
--        invalidate();
--        layout();
--        repaint();
--        support.firePropertyChange("", null, null);
--    }
--
--    public Object getValue() {
--        return (font);
--    }
--
--    public String getJavaInitializationString() {
--        if (this.font == null)
--            return "null";
--
--        return "new java.awt.Font(\"" + font.getName() + "\", " +
--                   font.getStyle() + ", " + font.getSize() + ")";
--    }
--
--    public boolean action(Event e, Object arg) {
--        String family = familyChoser.getSelectedItem();
--        int style = styles[styleChoser.getSelectedIndex()];
--        int size = pointSizes[sizeChoser.getSelectedIndex()];
--        try {
--            Font f = new Font(family, style, size);
--            changeFont(f);
--        } catch (Exception ex) {
--            System.err.println("Couldn't create font " + family + "-" +
--                        styleNames[style] + "-" + size);
--        }
--        return (false);
--    }
--
--
--    public boolean isPaintable() {
--        return true;
--    }
--
--    public void paintValue(java.awt.Graphics gfx, java.awt.Rectangle box) {
--        // Silent noop.
--        Font oldFont = gfx.getFont();
--        gfx.setFont(font);
--        FontMetrics fm = gfx.getFontMetrics();
--        int vpad = (box.height - fm.getAscent())/2;
--        gfx.drawString(sampleText, 0, box.height-vpad);
--        gfx.setFont(oldFont);
--    }
--
--    public String getAsText() {
--        if (this.font == null) {
--            return "null";
--        }
--        StringBuilder sb = new StringBuilder();
--        sb.append(this.font.getName());
--        sb.append(' ');
--
--        boolean b = this.font.isBold();
--        if (b) {
--            sb.append("BOLD");
--        }
--        boolean i = this.font.isItalic();
--        if (i) {
--            sb.append("ITALIC");
--        }
--        if (b || i) {
--            sb.append(' ');
--        }
--        sb.append(this.font.getSize());
--        return sb.toString();
--    }
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Font.decode(text));
--    }
--
--    public String[] getTags() {
--        return null;
--    }
--
--    public java.awt.Component getCustomEditor() {
--        return this;
--    }
--
--    public boolean supportsCustomEditor() {
--        return true;
--    }
--
--    public void addPropertyChangeListener(PropertyChangeListener l) {
--        support.addPropertyChangeListener(l);
--    }
--
--    public void removePropertyChangeListener(PropertyChangeListener l) {
--        support.removePropertyChangeListener(l);
--    }
--
--    private Font font;
--    private Toolkit toolkit;
--    private String sampleText = "Abcde...";
--
--    private Label sample;
--    private Choice familyChoser;
--    private Choice styleChoser;
--    private Choice sizeChoser;
--
--    private String fonts[];
--    private String[] styleNames = { "plain", "bold", "italic" };
--    private int[] styles = { Font.PLAIN, Font.BOLD, Font.ITALIC };
--    private int[] pointSizes = { 3, 5, 8, 10, 12, 14, 18, 24, 36, 48 };
--
--    private PropertyChangeSupport support = new PropertyChangeSupport(this);
--
--}
-diff --git a/src/share/classes/sun/beans/editors/IntegerEditor.java b/src/share/classes/sun/beans/editors/IntegerEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/IntegerEditor.java
-+++ /dev/null
-@@ -1,42 +0,0 @@
--/*
-- * Copyright (c) 2006, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "int" type.
-- *
-- */
--
--import java.beans.*;
--
--public class IntegerEditor extends NumberEditor {
--
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Integer.decode(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/LongEditor.java b/src/share/classes/sun/beans/editors/LongEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/LongEditor.java
-+++ /dev/null
-@@ -1,48 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "long" type.
-- *
-- */
--
--import java.beans.*;
--
--public class LongEditor extends NumberEditor {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? value + "L"
--                : "null";
--    }
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Long.decode(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/NumberEditor.java b/src/share/classes/sun/beans/editors/NumberEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/NumberEditor.java
-+++ /dev/null
-@@ -1,44 +0,0 @@
--/*
-- * Copyright (c) 1996, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.editors;
--
--/**
-- * Abstract Property editor for a java builtin number types.
-- *
-- */
--
--import java.beans.*;
--
--abstract public class NumberEditor extends PropertyEditorSupport {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? value.toString()
--                : "null";
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/ShortEditor.java b/src/share/classes/sun/beans/editors/ShortEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/ShortEditor.java
-+++ /dev/null
-@@ -1,49 +0,0 @@
--/*
-- * Copyright (c) 1996, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--
--package sun.beans.editors;
--
--/**
-- * Property editor for a java builtin "short" type.
-- *
-- */
--
--import java.beans.*;
--
--public class ShortEditor extends NumberEditor {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        return (value != null)
--                ? "((short)" + value + ")"
--                : "null";
--    }
--
--    public void setAsText(String text) throws IllegalArgumentException {
--        setValue((text == null) ? null : Short.decode(text));
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/editors/StringEditor.java b/src/share/classes/sun/beans/editors/StringEditor.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/editors/StringEditor.java
-+++ /dev/null
-@@ -1,74 +0,0 @@
--/*
-- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--
--package sun.beans.editors;
--
--import java.beans.*;
--
--public class StringEditor extends PropertyEditorSupport {
--
--    public String getJavaInitializationString() {
--        Object value = getValue();
--        if (value == null)
--            return "null";
--
--        String str = value.toString();
--        int length = str.length();
--        StringBuilder sb = new StringBuilder(length + 2);
--        sb.append('"');
--        for (int i = 0; i < length; i++) {
--            char ch = str.charAt(i);
--            switch (ch) {
--            case '\b': sb.append("\\b");  break;
--            case '\t': sb.append("\\t");  break;
--            case '\n': sb.append("\\n");  break;
--            case '\f': sb.append("\\f");  break;
--            case '\r': sb.append("\\r");  break;
--            case '\"': sb.append("\\\""); break;
--            case '\\': sb.append("\\\\"); break;
--            default:
--                if ((ch < ' ') || (ch > '~')) {
--                    sb.append("\\u");
--                    String hex = Integer.toHexString((int) ch);
--                    for (int len = hex.length(); len < 4; len++) {
--                        sb.append('0');
--                    }
--                    sb.append(hex);
--                } else {
--                    sb.append(ch);
--                }
--                break;
--            }
--        }
--        sb.append('"');
--        return sb.toString();
--    }
--
--    public void setAsText(String text) {
--        setValue(text);
--    }
--
--}
-diff --git a/src/share/classes/sun/beans/infos/ComponentBeanInfo.java b/src/share/classes/sun/beans/infos/ComponentBeanInfo.java
-deleted file mode 100644
---- openjdk/jdk/src/share/classes/sun/beans/infos/ComponentBeanInfo.java
-+++ /dev/null
-@@ -1,62 +0,0 @@
--/*
-- * Copyright (c) 1996, 2002, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.beans.infos;
--
--import java.beans.*;
--
--/**
-- * BeanInfo descriptor for a standard AWT component.
-- */
--
--public class ComponentBeanInfo extends SimpleBeanInfo {
--    private static final Class beanClass = java.awt.Component.class;
--
--    public PropertyDescriptor[] getPropertyDescriptors() {
--        try {
--            PropertyDescriptor
--                      name = new PropertyDescriptor("name",       beanClass),
--                background = new PropertyDescriptor("background", beanClass),
--                foreground = new PropertyDescriptor("foreground", beanClass),
--                      font = new PropertyDescriptor("font",       beanClass),
--                   enabled = new PropertyDescriptor("enabled",    beanClass),
--                   visible = new PropertyDescriptor("visible",    beanClass),
--                 focusable = new PropertyDescriptor("focusable",  beanClass);
--
--            enabled.setExpert(true);
--            visible.setHidden(true);
--
--            background.setBound(true);
--            foreground.setBound(true);
--            font.setBound(true);
--            focusable.setBound(true);
--
--            PropertyDescriptor[] rv = {name, background, foreground, font, enabled, visible, focusable };
--            return rv;
--        } catch (IntrospectionException e) {
--            throw new Error(e.toString());
--        }
--    }
--}
-diff --git a/test/java/beans/Introspector/4520754/Test4520754.java b/test/java/beans/Introspector/4520754/Test4520754.java
---- openjdk/jdk/test/java/beans/Introspector/4520754/Test4520754.java
-+++ openjdk/jdk/test/java/beans/Introspector/4520754/Test4520754.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2002, 2007, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -58,7 +58,7 @@
-     public static void main(String[] args) {
-         // ensure that 4168475 does not regress
-         test4168475(Component.class);
--        // AWT classes (sun.beans.infos.ComponentBeanInfo)
-+        // AWT classes (com.sun.beans.infos.ComponentBeanInfo)
-         test(null, Button.class, Component.class, List.class, Menu.class, Panel.class);
-         // Swing classes (dt.jar)
-         test(null, JApplet.class, JButton.class, JCheckBox.class);
--- a/patches/security/20120830/7163201-simplify_toolkit_internal_references.patch	Mon Sep 10 17:48:48 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3713 +0,0 @@
-diff --git a/src/share/classes/java/awt/AWTEvent.java b/src/share/classes/java/awt/AWTEvent.java
---- openjdk/jdk/src/share/classes/java/awt/AWTEvent.java
-+++ openjdk/jdk/src/share/classes/java/awt/AWTEvent.java
-@@ -260,6 +260,10 @@
-             initIDs();
-         }
-         AWTAccessor.setAWTEventAccessor(new AWTAccessor.AWTEventAccessor() {
-+                public void setPosted(AWTEvent ev) {
-+                    ev.isPosted = true;
-+                }
-+
-                 public void setSystemGenerated(AWTEvent ev) {
-                     ev.isSystemGenerated = true;
-                 }
-@@ -271,6 +275,15 @@
-                 public AccessControlContext getAccessControlContext(AWTEvent ev) {
-                     return ev.getAccessControlContext();
-                 }
-+
-+                public byte[] getBData(AWTEvent ev) {
-+                    return ev.bdata;
-+                }
-+
-+                public void setBData(AWTEvent ev, byte[] bdata) {
-+                    ev.bdata = bdata;
-+                }
-+
-         });
-     }
- 
-@@ -607,7 +620,7 @@
-         }
-     }
- 
--    private void readObject(ObjectInputStream in) 
-+    private void readObject(ObjectInputStream in)
-         throws ClassNotFoundException, IOException
-     {
-         this.acc = AccessController.getContext();
-diff --git a/src/share/classes/java/awt/CheckboxMenuItem.java b/src/share/classes/java/awt/CheckboxMenuItem.java
---- openjdk/jdk/src/share/classes/java/awt/CheckboxMenuItem.java
-+++ openjdk/jdk/src/share/classes/java/awt/CheckboxMenuItem.java
-@@ -31,6 +31,7 @@
- import java.io.ObjectInputStream;
- import java.io.IOException;
- import javax.accessibility.*;
-+import sun.awt.AWTAccessor;
- 
- 
- /**
-@@ -68,6 +69,13 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+
-+        AWTAccessor.setCheckboxMenuItemAccessor(
-+            new AWTAccessor.CheckboxMenuItemAccessor() {
-+                public boolean getState(CheckboxMenuItem cmi) {
-+                    return cmi.state;
-+                }
-+            });
-     }
- 
-    /**
-diff --git a/src/share/classes/java/awt/Component.java b/src/share/classes/java/awt/Component.java
---- openjdk/jdk/src/share/classes/java/awt/Component.java
-+++ openjdk/jdk/src/share/classes/java/awt/Component.java
-@@ -798,10 +798,129 @@
- 
-     static {
-         AWTAccessor.setComponentAccessor(new AWTAccessor.ComponentAccessor() {
-+                public void setX(Component comp, int x) {
-+                    comp.x = x;
-+                }
-+
-+                public void setY(Component comp, int y) {
-+                    comp.y = y;
-+                }
-+
-+                public void setWidth(Component comp, int width) {
-+                    comp.width = width;
-+                }
-+
-+                public void setHeight(Component comp, int height) {
-+                    comp.height = height;
-+                }
-+
-+                public int getX(Component comp) {
-+                    return comp.x;
-+                }
-+
-+                public int getY(Component comp) {
-+                    return comp.y;
-+                }
-+
-+                public int getWidth(Component comp) {
-+                    return comp.width;
-+                }
-+
-+                public int getHeight(Component comp) {
-+                    return comp.height;
-+                }
-+
-+                public boolean isPacked(Component comp) {
-+                    return comp.isPacked;
-+                }
-+
-+                public Container getParent(Component comp) {
-+                    return comp.getParent_NoClientCode();
-+                }
-+
-+                public Font getFont_NoClientCode(Component comp) {
-+                    return comp.getFont_NoClientCode();
-+                }
-+
-+                public void processEvent(Component comp, AWTEvent event) {
-+                    comp.processEvent(event);
-+                }
-+
-+                public void enableEvents(Component comp, long eventMask) {
-+                    comp.enableEvents(eventMask);
-+                }
-+
-+                public void setParent(Component comp, Container parent) {
-+                    comp.parent = parent;
-+                }
-+
-+                public Color getForeground(Component comp) {
-+                    return comp.foreground;
-+                }
-+
-+                public Color getBackground(Component comp) {
-+                    return comp.background;
-+                }
-+
-+                public void setBackground(Component comp, Color c) {
-+                    comp.background = c;
-+                }
-+
-+                public Font getFont(Component comp) {
-+                    return comp.font;
-+                }
-+
-+                public ComponentPeer getPeer(Component comp) {
-+                    return comp.peer;
-+                }
-+
-+                public void setPeer(Component comp, ComponentPeer peer) {
-+                    comp.peer = peer;
-+                }
-+
-+                public boolean getIgnoreRepaint(Component comp) {
-+                    return comp.ignoreRepaint;
-+                }
-+
-+                public void resetGC(Component comp) {
-+                    comp.resetGC();
-+                }
-+
-+                public boolean isVisible(Component comp) {
-+                    return comp.visible;
-+                }
-+
-+                public boolean isEnabled(Component comp) {
-+                    return comp.isEnabledImpl();
-+                }
-+
-+                public Cursor getCursor(Component comp) {
-+                    return comp.getCursor_NoClientCode();
-+                }
-+
-+                public Point getLocation(Component comp) {
-+                    return comp.location_NoClientCode();
-+                }
-+
-                 public AccessControlContext getAccessControlContext(Component comp) {
-                     return comp.getAccessControlContext();
-                 }
- 
-+                public boolean requestFocusInWindow(Component comp, CausedFocusEvent.Cause cause) {
-+                    return comp.requestFocusInWindow(cause);
-+                }
-+
-+                public void requestFocus(Component comp, CausedFocusEvent.Cause cause) {
-+                    comp.requestFocus(cause);
-+                }
-+
-+                public void setAppContext(Component comp, AppContext ctx) {
-+                    comp.appContext = ctx;
-+                }
-+
-+                public AppContext getAppContext(Component comp) {
-+                    return comp.appContext;
-+                }
-             });
-     }
- 
-diff --git a/src/share/classes/java/awt/Cursor.java b/src/share/classes/java/awt/Cursor.java
---- openjdk/jdk/src/share/classes/java/awt/Cursor.java
-+++ openjdk/jdk/src/share/classes/java/awt/Cursor.java
-@@ -24,10 +24,6 @@
-  */
- package java.awt;
- 
--import java.awt.AWTException;
--import java.awt.Point;
--import java.awt.Toolkit;
--
- import java.io.File;
- import java.io.FileInputStream;
- 
-@@ -39,6 +35,8 @@
- 
- import java.security.AccessController;
- 
-+import sun.awt.AWTAccessor;
-+
- /**
-  * A class to encapsulate the bitmap representation of the mouse cursor.
-  *
-@@ -193,6 +191,21 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+
-+        AWTAccessor.setCursorAccessor(
-+            new AWTAccessor.CursorAccessor() {
-+                public long getPData(Cursor cursor) {
-+                    return cursor.pData;
-+                }
-+
-+                public void setPData(Cursor cursor, long pData) {
-+                    cursor.pData = pData;
-+                }
-+
-+                public int getType(Cursor cursor) {
-+                    return cursor.type;
-+                }
-+            });
-     }
- 
-     /**
-diff --git a/src/share/classes/java/awt/DefaultKeyboardFocusManager.java b/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
---- openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
-+++ openjdk/jdk/src/share/classes/java/awt/DefaultKeyboardFocusManager.java
-@@ -40,6 +40,7 @@
- 
- import sun.awt.AppContext;
- import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- import sun.awt.CausedFocusEvent;
- 
- /**
-@@ -76,6 +77,15 @@
-         typeAheadMarkers = new LinkedList();
-     private boolean consumeNextKeyTyped;
- 
-+    static {
-+        AWTAccessor.setDefaultKeyboardFocusManagerAccessor(
-+            new AWTAccessor.DefaultKeyboardFocusManagerAccessor() {
-+                public void consumeNextKeyTyped(DefaultKeyboardFocusManager dkfm, KeyEvent e) {
-+                    dkfm.consumeNextKeyTyped(e);
-+                }
-+            });
-+    }
-+
-     private static class TypeAheadMarker {
-         long after;
-         Component untilFocused;
-diff --git a/src/share/classes/java/awt/Dialog.java b/src/share/classes/java/awt/Dialog.java
---- openjdk/jdk/src/share/classes/java/awt/Dialog.java
-+++ openjdk/jdk/src/share/classes/java/awt/Dialog.java
-@@ -34,6 +34,7 @@
- import java.security.PrivilegedAction;
- import javax.accessibility.*;
- import sun.awt.AppContext;
-+import sun.awt.AWTAccessor;
- import sun.awt.SunToolkit;
- import sun.awt.PeerEvent;
- import sun.awt.util.IdentityArrayList;
-@@ -1696,4 +1697,13 @@
-         }
- 
-     } // inner class AccessibleAWTDialog
-+
-+    static {
-+        AWTAccessor.setDialogAccessor(new AWTAccessor.DialogAccessor() {
-+            public ModalExclusionType getDefaultModalExclusionType() {
-+                return DEFAULT_MODAL_EXCLUSION_TYPE;
-+            }
-+        });
-+    }
-+
- }
-diff --git a/src/share/classes/java/awt/EventQueue.java b/src/share/classes/java/awt/EventQueue.java
---- openjdk/jdk/src/share/classes/java/awt/EventQueue.java
-+++ openjdk/jdk/src/share/classes/java/awt/EventQueue.java
-@@ -39,12 +39,12 @@
- import java.util.logging.*;
- 
- import sun.awt.AppContext;
-+import sun.awt.AWTAccessor;
- import sun.awt.AWTAutoShutdown;
- import sun.awt.PeerEvent;
- import sun.awt.SunToolkit;
- 
- import java.security.AccessControlContext;
--import java.security.ProtectionDomain;
- 
- import sun.misc.SharedSecrets;
- import sun.misc.JavaSecurityAccess;
-@@ -157,6 +157,29 @@
- 
-     private final String name = "AWT-EventQueue-" + nextThreadNum();
- 
-+    static {
-+        AWTAccessor.setEventQueueAccessor(
-+            new AWTAccessor.EventQueueAccessor() {
-+                public Thread getDispatchThread(EventQueue eventQueue) {
-+                    return eventQueue.dispatchThread;
-+                }
-+                public EventQueue getNextQueue(EventQueue eventQueue) {
-+                    return eventQueue.nextQueue;
-+                }
-+                public void removeSourceEvents(EventQueue eventQueue,
-+                                               Object source,
-+                                               boolean removeAllEvents) {
-+                    eventQueue.removeSourceEvents(source, removeAllEvents);
-+                }
-+                public boolean noEvents(EventQueue eventQueue) {
-+                    return eventQueue.noEvents();
-+                }
-+                public void wakeup(EventQueue eventQueue, boolean isShutdown) {
-+                    eventQueue.wakeup(isShutdown);
-+                }
-+            });
-+    }
-+
-     private static final Logger eventLog = Logger.getLogger("java.awt.event.EventQueue");
- 
-     public EventQueue() {
-@@ -637,7 +660,7 @@
-     }
- 
-     /**
--     * Called from dispatchEvent() under a correct AccessControlContext  
-+     * Called from dispatchEvent() under a correct AccessControlContext
-      */
-     private void dispatchEventImpl(final AWTEvent event, final Object src) {
-         event.isPosted = true;
-diff --git a/src/share/classes/java/awt/KeyboardFocusManager.java b/src/share/classes/java/awt/KeyboardFocusManager.java
---- openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java
-+++ openjdk/jdk/src/share/classes/java/awt/KeyboardFocusManager.java
-@@ -60,6 +60,7 @@
- import sun.awt.HeadlessToolkit;
- import sun.awt.SunToolkit;
- import sun.awt.CausedFocusEvent;
-+import sun.awt.AWTAccessor;
- 
- /**
-  * The KeyboardFocusManager is responsible for managing the active and focused
-@@ -117,6 +118,40 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+        AWTAccessor.setKeyboardFocusManagerAccessor(
-+            new AWTAccessor.KeyboardFocusManagerAccessor() {
-+                public int shouldNativelyFocusHeavyweight(Component heavyweight,
-+                                                   Component descendant,
-+                                                   boolean temporary,
-+                                                   boolean focusedWindowChangeAllowed,
-+                                                   long time,
-+                                                   CausedFocusEvent.Cause cause)
-+                {
-+                    return KeyboardFocusManager.shouldNativelyFocusHeavyweight(
-+                        heavyweight, descendant, temporary, focusedWindowChangeAllowed, time, cause);
-+                }
-+                public boolean processSynchronousLightweightTransfer(Component heavyweight,
-+                                                              Component descendant,
-+                                                              boolean temporary,
-+                                                              boolean focusedWindowChangeAllowed,
-+                                                              long time)
-+                {
-+                    return KeyboardFocusManager.processSynchronousLightweightTransfer(
-+                        heavyweight, descendant, temporary, focusedWindowChangeAllowed, time);
-+                }
-+                public void setMostRecentFocusOwner(Window window, Component component) {
-+                    KeyboardFocusManager.setMostRecentFocusOwner(window, component);
-+                }
-+
-+                public void removeLastFocusRequest(Component heavyweight) {
-+                    KeyboardFocusManager.removeLastFocusRequest(heavyweight);
-+                }
-+
-+                public Container getCurrentFocusCycleRoot() {
-+                    return KeyboardFocusManager.currentFocusCycleRoot;
-+                }
-+            }
-+        );
-     }
- 
-     transient KeyboardFocusManagerPeer peer;
-@@ -563,7 +598,7 @@
-     public void clearGlobalFocusOwner() {
-         synchronized (KeyboardFocusManager.class) {
-              checkCurrentKFMSecurity();
--        } 
-+        }
- 
-         if (!GraphicsEnvironment.isHeadless()) {
-             // Toolkit must be fully initialized, otherwise
-diff --git a/src/share/classes/java/awt/Menu.java b/src/share/classes/java/awt/Menu.java
---- openjdk/jdk/src/share/classes/java/awt/Menu.java
-+++ openjdk/jdk/src/share/classes/java/awt/Menu.java
-@@ -31,6 +31,7 @@
- import java.awt.peer.MenuPeer;
- import java.awt.event.KeyEvent;
- import javax.accessibility.*;
-+import sun.awt.AWTAccessor;
- 
- /**
-  * A <code>Menu</code> object is a pull-down menu component
-@@ -62,6 +63,13 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+
-+        AWTAccessor.setMenuAccessor(
-+            new AWTAccessor.MenuAccessor() {
-+                public Vector getItems(Menu menu) {
-+                    return menu.items;
-+                }
-+            });
-     }
- 
-     /**
-diff --git a/src/share/classes/java/awt/MenuBar.java b/src/share/classes/java/awt/MenuBar.java
---- openjdk/jdk/src/share/classes/java/awt/MenuBar.java
-+++ openjdk/jdk/src/share/classes/java/awt/MenuBar.java
-@@ -28,6 +28,7 @@
- import java.io.ObjectInputStream;
- import java.util.Vector;
- import java.util.Enumeration;
-+import sun.awt.AWTAccessor;
- import java.awt.peer.MenuBarPeer;
- import java.awt.event.KeyEvent;
- import javax.accessibility.*;
-@@ -74,6 +75,16 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+        AWTAccessor.setMenuBarAccessor(
-+            new AWTAccessor.MenuBarAccessor() {
-+                public Menu getHelpMenu(MenuBar menuBar) {
-+                    return menuBar.helpMenu;
-+                }
-+
-+                public Vector getMenus(MenuBar menuBar) {
-+                    return menuBar.menus;
-+                }
-+            });
-     }
- 
-     /**
-diff --git a/src/share/classes/java/awt/MenuComponent.java b/src/share/classes/java/awt/MenuComponent.java
---- openjdk/jdk/src/share/classes/java/awt/MenuComponent.java
-+++ openjdk/jdk/src/share/classes/java/awt/MenuComponent.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -29,7 +29,7 @@
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import sun.awt.AppContext;
--import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- import javax.accessibility.*;
- 
- import java.security.AccessControlContext;
-@@ -106,7 +106,7 @@
-      */
-     private transient volatile AccessControlContext acc =
-             AccessController.getContext();
--    
-+
-     /*
-      * Returns the acc this menu component was constructed with.
-      */
-@@ -129,6 +129,24 @@
-      */
-     private static final long serialVersionUID = -4536902356223894379L;
- 
-+    static {
-+        AWTAccessor.setMenuComponentAccessor(
-+            new AWTAccessor.MenuComponentAccessor() {
-+                public MenuContainer getParent(MenuComponent menuComp) {
-+                    return menuComp.parent;
-+                }
-+                public Font getFont_NoClientCode(MenuComponent menuComp) {
-+                    return menuComp.getFont_NoClientCode();
-+                }
-+                public void setAppContext(MenuComponent menuComp, AppContext ctx) {
-+                    menuComp.appContext = ctx;
-+                }
-+                public AppContext getAppContext(MenuComponent menuComp) {
-+                    return menuComp.appContext;
-+                }
-+            });
-+     }
-+
-     /**
-      * Creates a <code>MenuComponent</code>.
-      * @exception HeadlessException if
-diff --git a/src/share/classes/java/awt/MenuItem.java b/src/share/classes/java/awt/MenuItem.java
---- openjdk/jdk/src/share/classes/java/awt/MenuItem.java
-+++ openjdk/jdk/src/share/classes/java/awt/MenuItem.java
-@@ -31,7 +31,7 @@
- import java.io.ObjectInputStream;
- import java.io.IOException;
- import javax.accessibility.*;
--
-+import sun.awt.AWTAccessor;
- 
- /**
-  * All items in a menu must belong to the class
-@@ -76,6 +76,29 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+
-+        AWTAccessor.setMenuItemAccessor(
-+            new AWTAccessor.MenuItemAccessor() {
-+                public boolean isEnabled(MenuItem item) {
-+                    return item.enabled;
-+                }
-+
-+                public String getLabel(MenuItem item) {
-+                    return item.label;
-+                }
-+
-+                public MenuShortcut getShortcut(MenuItem item) {
-+                    return item.shortcut;
-+                }
-+
-+                public String getActionCommandImpl(MenuItem item) {
-+                    return item.getActionCommandImpl();
-+                }
-+
-+                public boolean isItemEnabled(MenuItem item) {
-+                    return item.isItemEnabled();
-+                }
-+            });
-     }
- 
-     /**
-diff --git a/src/share/classes/java/awt/PopupMenu.java b/src/share/classes/java/awt/PopupMenu.java
---- openjdk/jdk/src/share/classes/java/awt/PopupMenu.java
-+++ openjdk/jdk/src/share/classes/java/awt/PopupMenu.java
-@@ -28,6 +28,7 @@
- import java.awt.peer.PopupMenuPeer;
- import javax.accessibility.*;
- 
-+import sun.awt.AWTAccessor;
- 
- /**
-  * A class that implements a menu which can be dynamically popped up
-@@ -48,6 +49,15 @@
- 
-     transient boolean isTrayIconPopup = false;
- 
-+    static {
-+        AWTAccessor.setPopupMenuAccessor(
-+            new AWTAccessor.PopupMenuAccessor() {
-+                public boolean isTrayIconPopup(PopupMenu popupMenu) {
-+                    return popupMenu.isTrayIconPopup;
-+                }
-+            });
-+    }
-+
-     /*
-      * JDK 1.1 serialVersionUID
-      */
-diff --git a/src/share/classes/java/awt/ScrollPaneAdjustable.java b/src/share/classes/java/awt/ScrollPaneAdjustable.java
---- openjdk/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java
-+++ openjdk/jdk/src/share/classes/java/awt/ScrollPaneAdjustable.java
-@@ -24,6 +24,8 @@
-  */
- package java.awt;
- 
-+import sun.awt.AWTAccessor;
-+
- import java.awt.event.AdjustmentEvent;
- import java.awt.event.AdjustmentListener;
- import java.awt.peer.ScrollPanePeer;
-@@ -156,6 +158,13 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+        AWTAccessor.setScrollPaneAdjustableAccessor(
-+                new AWTAccessor.ScrollPaneAdjustableAccessor() {
-+            public void setTypedValue(final ScrollPaneAdjustable adj,
-+                                      final int v, final int type) {
-+                adj.setTypedValue(v, type);
-+            }
-+        });
-     }
- 
-     /**
-diff --git a/src/share/classes/java/awt/SystemTray.java b/src/share/classes/java/awt/SystemTray.java
---- openjdk/jdk/src/share/classes/java/awt/SystemTray.java
-+++ openjdk/jdk/src/share/classes/java/awt/SystemTray.java
-@@ -33,6 +33,7 @@
- import sun.awt.SunToolkit;
- import sun.awt.HeadlessToolkit;
- import sun.security.util.SecurityConstants;
-+import sun.awt.AWTAccessor;
- 
- /**
-  * The <code>SystemTray</code> class represents the system tray for a
-@@ -125,6 +126,18 @@
- 
-     transient private SystemTrayPeer peer;
- 
-+    static {
-+        AWTAccessor.setSystemTrayAccessor(
-+            new AWTAccessor.SystemTrayAccessor() {
-+                public void firePropertyChange(SystemTray tray,
-+                                               String propertyName,
-+                                               Object oldValue,
-+                                               Object newValue) {
-+                    tray.firePropertyChange(propertyName, oldValue, newValue);
-+                }
-+            });
-+    }
-+
-     /**
-      * Private <code>SystemTray</code> constructor.
-      *
-diff --git a/src/share/classes/java/awt/TrayIcon.java b/src/share/classes/java/awt/TrayIcon.java
---- openjdk/jdk/src/share/classes/java/awt/TrayIcon.java
-+++ openjdk/jdk/src/share/classes/java/awt/TrayIcon.java
-@@ -25,18 +25,11 @@
- 
- package java.awt;
- 
--import java.awt.Point;
--import java.awt.Toolkit;
--import java.awt.GraphicsEnvironment;
- import java.awt.event.*;
--import java.awt.AWTEvent;
--import java.awt.AWTEventMulticaster;
--import java.awt.EventQueue;
--import java.awt.PopupMenu;
--import java.awt.Image;
- import java.util.EventListener;
- import java.awt.peer.TrayIconPeer;
- import sun.awt.AppContext;
-+import sun.awt.AWTAccessor;
- import sun.awt.SunToolkit;
- import java.util.EventObject;
- import java.security.AccessControlContext;
-@@ -112,7 +105,7 @@
-      * because TrayIcon is not serializable.
-      */
-     private final AccessControlContext acc = AccessController.getContext();
--    
-+
-     /*
-      * Returns the acc this tray icon was constructed with.
-      */
-@@ -128,6 +121,16 @@
-         if (!GraphicsEnvironment.isHeadless()) {
-             initIDs();
-         }
-+
-+        AWTAccessor.setTrayIconAccessor(
-+            new AWTAccessor.TrayIconAccessor() {
-+                public void addNotify(TrayIcon trayIcon) throws AWTException {
-+                    trayIcon.addNotify();
-+                }
-+                public void removeNotify(TrayIcon trayIcon) {
-+                    trayIcon.removeNotify();
-+                }
-+            });
-     }
- 
-     private TrayIcon()
-diff --git a/src/share/classes/java/awt/Window.java b/src/share/classes/java/awt/Window.java
---- openjdk/jdk/src/share/classes/java/awt/Window.java
-+++ openjdk/jdk/src/share/classes/java/awt/Window.java
-@@ -51,6 +51,7 @@
- import java.util.concurrent.atomic.AtomicBoolean;
- import javax.accessibility.*;
- import sun.awt.AppContext;
-+import sun.awt.AWTAccessor;
- import sun.awt.CausedFocusEvent;
- import sun.awt.SunToolkit;
- import sun.awt.util.IdentityArrayList;
-@@ -3221,6 +3222,26 @@
- 
-     // ****************** END OF MIXING CODE ********************************
- 
-+    static {
-+        AWTAccessor.setWindowAccessor(new AWTAccessor.WindowAccessor() {
-+            public void setLWRequestStatus(Window changed, boolean status) {
-+                changed.syncLWRequests = status;
-+            }
-+
-+            public boolean isAutoRequestFocus(Window w) {
-+                return w.autoRequestFocus;
-+            }
-+
-+            public boolean isTrayIconWindow(Window window) {
-+                return window.isTrayIconWindow;
-+            }
-+
-+            public void setTrayIconWindow(Window window, boolean state) {
-+                window.isTrayIconWindow = state;
-+            }
-+         });
-+     }
-+
- } // class Window
- 
- 
-diff --git a/src/share/classes/java/awt/event/KeyEvent.java b/src/share/classes/java/awt/event/KeyEvent.java
---- openjdk/jdk/src/share/classes/java/awt/event/KeyEvent.java
-+++ openjdk/jdk/src/share/classes/java/awt/event/KeyEvent.java
-@@ -25,12 +25,12 @@
- 
- package java.awt.event;
- 
--import java.awt.Event;
- import java.awt.Component;
- import java.awt.GraphicsEnvironment;
- import java.awt.Toolkit;
- import java.io.IOException;
- import java.io.ObjectInputStream;
-+import sun.awt.AWTAccessor;
- 
- /**
-  * An event which indicates that a keystroke occurred in a component.
-diff --git a/src/share/classes/javax/swing/ClientPropertyKey.java b/src/share/classes/javax/swing/ClientPropertyKey.java
---- openjdk/jdk/src/share/classes/javax/swing/ClientPropertyKey.java
-+++ openjdk/jdk/src/share/classes/javax/swing/ClientPropertyKey.java
-@@ -25,6 +25,8 @@
- 
- package javax.swing;
- 
-+import sun.awt.AWTAccessor;
-+
- /**
-  * An enumeration for keys used as client properties within the Swing
-  * implementation.
-@@ -86,6 +88,15 @@
-      */
-     private final boolean reportValueNotSerializable;
- 
-+    static {
-+        AWTAccessor.setClientPropertyKeyAccessor(
-+            new AWTAccessor.ClientPropertyKeyAccessor() {
-+                public Object getJComponent_TRANSFER_HANDLER() {
-+                    return JComponent_TRANSFER_HANDLER;
-+                }
-+            });
-+    }
-+
-     /**
-      * Constructs a key with the {@code reportValueNotSerializable} property
-      * set to {@code false}.
-diff --git a/src/share/classes/javax/swing/JComponent.java b/src/share/classes/javax/swing/JComponent.java
---- openjdk/jdk/src/share/classes/javax/swing/JComponent.java
-+++ openjdk/jdk/src/share/classes/javax/swing/JComponent.java
-@@ -53,6 +53,7 @@
- import static javax.swing.ClientPropertyKey.*;
- import javax.accessibility.*;
- 
-+import sun.awt.AWTAccessor;
- import sun.swing.SwingUtilities2;
- import sun.swing.UIClientPropertyKey;
- 
-diff --git a/src/share/classes/sun/awt/AWTAccessor.java b/src/share/classes/sun/awt/AWTAccessor.java
---- openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
-+++ openjdk/jdk/src/share/classes/sun/awt/AWTAccessor.java
-@@ -27,15 +27,18 @@
- 
- import java.awt.*;
- import java.awt.event.InputEvent;
-+import java.awt.event.KeyEvent;
- import java.awt.geom.Point2D;
--import java.awt.image.BufferedImage;
- 
- import sun.misc.Unsafe;
- import java.awt.peer.ComponentPeer;
- 
--import java.security.AccessController;
- import java.security.AccessControlContext;
- 
-+import java.util.Vector;
-+
-+import static java.awt.Dialog.ModalExclusionType;
-+
- /**
-  * The AWTAccessor utility class.
-  * The main purpose of this class is to enable accessing
-@@ -59,17 +62,183 @@
-      * An interface of accessor for the java.awt.Component class.
-      */
-     public interface ComponentAccessor {
-+        /**
-+         * Set the horizontal position of the component.
-+         */
-+        void setX(Component comp, int x);
-+
-+        /**
-+         * Set the vertical position of the component.
-+         */
-+        void setY(Component comp, int y);
-+
-+        /**
-+         * Set the width of the component.
-+         */
-+        void setWidth(Component comp, int width);
-+
-+        /**
-+         * Set the height of the component.
-+         */
-+        void setHeight(Component comp, int height);
-+
-+        /**
-+         * Gets the horizontal position of the component.
-+         */
-+        int getX(Component comp);
-+
-+        /**
-+         * Gets the vertical position of the component.
-+         */
-+        int getY(Component comp);
-+
-+        /**
-+         * Gets the width of the component.
-+         */
-+        int getWidth(Component comp);
-+
-+        /**
-+         * Gets the height of the component.
-+         */
-+        int getHeight(Component comp);
-+
-+        /**
-+         * Returns true if the component is packed.
-+         */
-+        boolean isPacked(Component comp);
-+
-+        /**
-+         * Returns the appContext of the component.
-+         */
-+        AppContext getAppContext(Component comp);
-+
-+        /**
-+         * Sets the appContext of the component.
-+         */
-+        void setAppContext(Component comp, AppContext appContext);
-+
-+        /**
-+         * Returns the parent component.
-+         */
-+        Container getParent(Component comp);
-+
-+        /**
-+         * Returns the font of the component.
-+         */
-+        Font getFont_NoClientCode(Component comp);
-+
-+        /**
-+         * Processes the given event.
-+         */
-+        void processEvent(Component comp, AWTEvent event);
-+
-+        /**
-+         * Enable the events given by the specified mask.
-+         */
-+        void enableEvents(Component comp, long eventMask);
-+
-+        /**
-+         * Sets the parent of the component.
-+         */
-+        void setParent(Component comp, Container parent);
-+
-+        /**
-+         * Gets the foreground colour of the component.
-+         */
-+        Color getForeground(Component comp);
-+
-+        /**
-+         * Gets the background colour of the component.
-+         */
-+        Color getBackground(Component comp);
-+
-+        /**
-+         * Sets the background colour of the component.
-+         */
-+        void setBackground(Component comp, Color c);
-+
-+        /**
-+         * Gets the font of the component.
-+         */
-+        Font getFont(Component comp);
-+
-+        /**
-+         * Gets the peer of the component.
-+         */
-+        ComponentPeer getPeer(Component comp);
-+
-+        /**
-+         * Sets the peer of the component.
-+         */
-+        void setPeer(Component comp, ComponentPeer peer);
-+
-+        /**
-+         * Gets the ignoreRepaint setting.
-+         */
-+        boolean getIgnoreRepaint(Component comp);
-+
-+        /**
-+         * Call resetGC.
-+         */
-+        void resetGC(Component comp);
-+
-+        /**
-+         * Returns true if the component is visible.
-+         */
-+        boolean isVisible(Component comp);
-+
-+        /**
-+         * Returns true if the component is enabled.
-+         */
-+        boolean isEnabled(Component comp);
-+
-+        /**
-+         * Gets the cursor set in the component.
-+         */
-+        Cursor getCursor(Component comp);
-+
-+        /**
-+         * Returns the location of the component.
-+         */
-+        Point getLocation(Component comp);
-+
-         /*
-          * Returns the acc this component was constructed with.
-          */
-         AccessControlContext getAccessControlContext(Component comp);
-+
-+        /**
-+         * Requests that this Component get the input focus, if this
-+         * Component's top-level ancestor is already the focused Window
-+         */
-+        boolean requestFocusInWindow(Component comp, CausedFocusEvent.Cause cause);
-+
-+        /**
-+         * Requests that this Component get the input focus, providing the cause
-+         */
-+        void requestFocus(Component comp, CausedFocusEvent.Cause cause);
-     }
- 
-     /*
-+     * An interface of accessor for java.awt.Window class.
-+     */
-+    public interface WindowAccessor {
-+        /** Sets the synchronous status of focus requests on lightweight
-+         * components in the specified window to the specified value.
-+         */
-+        void setLWRequestStatus(Window changed, boolean status);
-+    }
-+
-+    /**
-      * An accessor for the AWTEvent class.
-      */
-     public interface AWTEventAccessor {
-         /**
-+         * Marks the event as posted.
-+         */
-+        void setPosted(AWTEvent ev);
-+
-+        /**
-          * Sets the flag on this AWTEvent indicating that it was
-          * generated by the system.
-          */
-@@ -80,12 +249,270 @@
-          */
-         boolean isSystemGenerated(AWTEvent ev);
- 
--
--        /*
-+        /**
-          * Returns the acc this event was constructed with.
-          */
-         AccessControlContext getAccessControlContext(AWTEvent ev);
- 
-+        /**
-+         * Returns binary data associated with this event;
-+         */
-+        byte[] getBData(AWTEvent ev);
-+
-+        /**
-+         * Associates binary data with this event;
-+         */
-+        void setBData(AWTEvent ev, byte[] bdata);
-+    }
-+
-+    /*
-+     * An accessor for the MenuComponent class.
-+     */
-+    public interface MenuComponentAccessor {
-+        /**
-+         * Returns the appContext of the menu component.
-+         */
-+        AppContext getAppContext(MenuComponent menuComp);
-+
-+        /**
-+         * Sets the appContext of the menu component.
-+         */
-+        void setAppContext(MenuComponent menuComp, AppContext ctx);
-+
-+        /**
-+         * Returns the menu container of the menu component
-+         */
-+        MenuContainer getParent(MenuComponent menuComp);
-+
-+        /**
-+         * Gets the font used for this menu component.
-+         */
-+        Font getFont_NoClientCode(MenuComponent menuComp);
-+    }
-+
-+    /** An accessor for the EventQueue class
-+     */
-+    public interface EventQueueAccessor {
-+        /**
-+         * Returns whether an event is pending on any of the separate Queues.
-+         */
-+        boolean noEvents(EventQueue eventQueue);
-+        /**
-+         * Returns dispatch thread for the given EventQueue which has private access
-+         */
-+        Thread getDispatchThread(EventQueue eventQueue);
-+        /**
-+         * Returns next queue for the given EventQueue which has private access
-+         */
-+        EventQueue getNextQueue(EventQueue eventQueue);
-+        /**
-+         * Removes any pending events for the specified source object.
-+         */
-+        void removeSourceEvents(EventQueue eventQueue, Object source,
-+                                boolean removeAllEvents);
-+
-+        /**
-+         * Called from PostEventQueue.postEvent to notify that a new event
-+         * appeared.
-+         */
-+        void wakeup(EventQueue eventQueue, boolean isShutdown);
-+    }
-+
-+    /** An accessor for the PopupMenu class
-+     */
-+    public interface PopupMenuAccessor {
-+        /**
-+         * Returns whether the popup menu is attached to a tray
-+         */
-+        boolean isTrayIconPopup(PopupMenu popupMenu);
-+    }
-+
-+    /**
-+     * An accessor for the ScrollPaneAdjustable class.
-+     */
-+    public interface ScrollPaneAdjustableAccessor {
-+        /**
-+         * Sets the value of this scrollbar to the specified value.
-+         */
-+        void setTypedValue(final ScrollPaneAdjustable adj, final int v,
-+                           final int type);
-+    }
-+
-+    /**
-+     * An accessor for the CheckboxMenuItem class
-+     */
-+    public interface CheckboxMenuItemAccessor {
-+        /**
-+         * Returns whether menu item is checked
-+         */
-+        boolean getState(CheckboxMenuItem cmi);
-+    }
-+
-+    /**
-+     * An accessor for the Cursor class
-+     */
-+    public interface CursorAccessor {
-+        /**
-+         * Returns pData of the Cursor class
-+         */
-+        long getPData(Cursor cursor);
-+
-+        /**
-+         * Sets pData to the Cursor class
-+         */
-+        void setPData(Cursor cursor, long pData);
-+
-+        /**
-+         * Return type of the Cursor class
-+         */
-+        int getType(Cursor cursor);
-+    }
-+
-+    /**
-+     * An accessor for the MenuBar class
-+     */
-+    public interface MenuBarAccessor {
-+        /**
-+         * Returns help menu
-+         */
-+        Menu getHelpMenu(MenuBar menuBar);
-+
-+        /**
-+         * Returns menus
-+         */
-+        Vector getMenus(MenuBar menuBar);
-+    }
-+
-+    /**
-+     * An accessor for the MenuItem class
-+     */
-+    public interface MenuItemAccessor {
-+        /**
-+         * Returns whether menu item is enabled
-+         */
-+        boolean isEnabled(MenuItem item);
-+
-+        /**
-+         * Gets the command name of the action event that is fired
-+         * by this menu item.
-+         */
-+        String getActionCommandImpl(MenuItem item);
-+
-+        /**
-+         * Returns true if the item and all its ancestors are
-+         * enabled, false otherwise
-+         */
-+        boolean isItemEnabled(MenuItem item);
-+
-+        /**
-+         * Returns label
-+         */
-+        String getLabel(MenuItem item);
-+
-+        /**
-+         * Returns shortcut
-+         */
-+        MenuShortcut getShortcut(MenuItem item);
-+    }
-+
-+    /**
-+     * An accessor for the Menu class
-+     */
-+    public interface MenuAccessor {
-+        /**
-+         * Returns vector of the items that are part of the Menu
-+         */
-+        Vector getItems(Menu menu);
-+    }
-+
-+    /**
-+     * An accessor for the KeyEvent class
-+     */
-+    public interface KeyEventAccessor {
-+        /**
-+         * Sets rawCode field for KeyEvent
-+         */
-+        void setRawCode(KeyEvent ev, long rawCode);
-+
-+        /**
-+         * Sets primaryLevelUnicode field for KeyEvent
-+         */
-+        void setPrimaryLevelUnicode(KeyEvent ev, long primaryLevelUnicode);
-+
-+        /**
-+         * Sets extendedKeyCode field for KeyEvent
-+         */
-+        void setExtendedKeyCode(KeyEvent ev, long extendedKeyCode);
-+    }
-+
-+    /**
-+     * An accessor for the ClientPropertyKey class
-+     */
-+    public interface ClientPropertyKeyAccessor {
-+        /**
-+         * Retrieves JComponent_TRANSFER_HANDLER enum object
-+         */
-+        Object getJComponent_TRANSFER_HANDLER();
-+    }
-+
-+    /**
-+     * An accessor for the SystemTray class
-+     */
-+    public interface SystemTrayAccessor {
-+        /**
-+         * Support for reporting bound property changes for Object properties.
-+         */
-+        void firePropertyChange(SystemTray tray, String propertyName, Object oldValue, Object newValue);
-+    }
-+
-+    /**
-+     * An accessor for the TrayIcon class
-+     */
-+    public interface TrayIconAccessor {
-+        void addNotify(TrayIcon trayIcon) throws AWTException;
-+        void removeNotify(TrayIcon trayIcon);
-+    }
-+
-+    /**
-+     * An accessor for the DefaultKeyboardFocusManager class
-+     */
-+    public interface DefaultKeyboardFocusManagerAccessor {
-+        public void consumeNextKeyTyped(DefaultKeyboardFocusManager dkfm, KeyEvent e);
-+    }
-+
-+    /** An interface of accessor for the KeyboardFocusManager class.
-+     */
-+    public interface KeyboardFocusManagerAccessor {
-+        /**
-+         * Indicates whether the native implementation should
-+         * proceed with a pending focus request for the heavyweight.
-+         */
-+        int shouldNativelyFocusHeavyweight(Component heavyweight,
-+                                           Component descendant,
-+                                           boolean temporary,
-+                                           boolean focusedWindowChangeAllowed,
-+                                           long time,
-+                                           CausedFocusEvent.Cause cause);
-+        /*
-+         * Delivers focus for the lightweight descendant of the heavyweight
-+         * synchronously.
-+         */
-+        boolean processSynchronousLightweightTransfer(Component heavyweight,
-+                                                      Component descendant,
-+                                                      boolean temporary,
-+                                                      boolean focusedWindowChangeAllowed,
-+                                                      long time);
-+        /**
-+         * Sets the most recent focus owner in the window.
-+         */
-+        void setMostRecentFocusOwner(Window window, Component component);
-+
-+        void removeLastFocusRequest(Component heavyweight);
-+        Container getCurrentFocusCycleRoot();
-+    }
-+
-+    public interface DialogAccessor {
-+        ModalExclusionType getDefaultModalExclusionType();
-     }
- 
-     /*
-@@ -93,8 +520,73 @@
-      * corresponding AWT classes by using setters defined below.
-      */
-     private static ComponentAccessor componentAccessor;
-+
-+    /* The java.awt.KeyboardFocusManager class accessor object.
-+     */
-+    private static KeyboardFocusManagerAccessor kfmAccessor;
-+
-+    private static WindowAccessor windowAccessor;
-+
-     private static AWTEventAccessor awtEventAccessor;
- 
-+    private static MenuComponentAccessor menuComponentAccessor;
-+
-+    /* The java.awt.EventQueue class accessor object.
-+     */
-+    private static EventQueueAccessor eventQueueAccessor;
-+
-+    /* The java.awt.PopupMenu class accessor object.
-+     */
-+    private static PopupMenuAccessor popupMenuAccessor;
-+
-+    /* The java.awt.ScrollPaneAdjustable class accessor object.
-+     */
-+    private static ScrollPaneAdjustableAccessor scrollPaneAdjustableAccessor;
-+
-+    /* The java.awt.CheckboxMenuItem class accessor object.
-+     */
-+    private static CheckboxMenuItemAccessor checkboxMenuItemAccessor;
-+
-+    /* The java.awt.Cursor class accessor object.
-+     */
-+    private static CursorAccessor cursorAccessor;
-+
-+    /* The java.awt.MenuBar class accessor object.
-+     */
-+    private static MenuBarAccessor menuBarAccessor;
-+
-+    /* The java.awt.MenuItem class accessor object.
-+     */
-+    private static MenuItemAccessor menuItemAccessor;
-+
-+    /* The java.awt.Menu class accessor object.
-+     */
-+    private static MenuAccessor menuAccessor;
-+
-+    /* The java.awt.KeyEvent class accessor object.
-+     */
-+    private static KeyEventAccessor keyEventAccessor;
-+
-+    /* The javax.swing.JComponent class accessor object.
-+     */
-+    private static ClientPropertyKeyAccessor clientPropertyKeyAccessor;
-+
-+    /* The java.awt.SystemTray class accessor object.
-+     */
-+    private static SystemTrayAccessor systemTrayAccessor;
-+
-+    /* The java.awt.TrayIcon class accessor object.
-+     */
-+    private static TrayIconAccessor trayIconAccessor;
-+
-+    /* The java.awt.DefaultKeyboardFocusManager class accessor object.
-+     */
-+    private static DefaultKeyboardFocusManagerAccessor defaultKeyboardFocusManagerAccessor;
-+
-+    /* The java.awt.Dialog class accessor object.
-+     */
-+    private static DialogAccessor dialogAccessor;
-+
-     /*
-      * Set an accessor object for the java.awt.Component class.
-      */
-@@ -113,6 +605,55 @@
-         return componentAccessor;
-     }
- 
-+    /** Set an accessor object for the java.awt.KeyboardFocusManager class.
-+     */
-+    public static void setKeyboardFocusManagerAccessor(KeyboardFocusManagerAccessor kfma) {
-+        kfmAccessor = kfma;
-+    }
-+
-+    /** Retrieve the accessor object for the java.awt.KeyboardFocusManager class.
-+     */
-+    public static KeyboardFocusManagerAccessor getKeyboardFocusManagerAccessor() {
-+        if (kfmAccessor == null) {
-+            unsafe.ensureClassInitialized(KeyboardFocusManager.class);
-+        }
-+        return kfmAccessor;
-+    }
-+
-+    /*
-+     * Set an accessor object for the java.awt.MenuComponent class.
-+     */
-+    public static void setMenuComponentAccessor(MenuComponentAccessor mca) {
-+        menuComponentAccessor = mca;
-+    }
-+
-+    /*
-+     * Retrieve the accessor object for the java.awt.MenuComponent class.
-+     */
-+    public static MenuComponentAccessor getMenuComponentAccessor() {
-+        if (menuComponentAccessor == null) {
-+            unsafe.ensureClassInitialized(MenuComponent.class);
-+        }
-+        return menuComponentAccessor;
-+    }
-+
-+    /*
-+     * Set an accessor object for the java.awt.Window class.
-+     */
-+    public static void setWindowAccessor(WindowAccessor wa) {
-+        windowAccessor = wa;
-+    }
-+
-+    /*
-+     * Retrieve the accessor object for the java.awt.Window class.
-+     */
-+    public static WindowAccessor getWindowAccessor() {
-+        if (windowAccessor == null) {
-+            unsafe.ensureClassInitialized(Window.class);
-+        }
-+        return windowAccessor;
-+    }
-+
-     /*
-      * Set an accessor object for the java.awt.AWTEvent class.
-      */
-@@ -120,6 +661,224 @@
-         awtEventAccessor = aea;
-     }
- 
-+    /** Set an accessor object for the java.awt.EventQueue class.
-+     */
-+    public static void setEventQueueAccessor(EventQueueAccessor eqa) {
-+        eventQueueAccessor = eqa;
-+    }
-+
-+    /** Retrieve the accessor object for the java.awt.EventQueue class.
-+     */
-+    public static EventQueueAccessor getEventQueueAccessor() {
-+        if (eventQueueAccessor == null) {
-+            unsafe.ensureClassInitialized(EventQueue.class);
-+        }
-+        return eventQueueAccessor;
-+    }
-+
-+    /** Set an accessor object for the java.awt.PopupMenu class.
-+     */
-+    public static void setPopupMenuAccessor(PopupMenuAccessor pma) {
-+        popupMenuAccessor = pma;
-+    }
-+
-+    /** Retrieve the accessor object for the java.awt.PopupMenu class.
-+     */
-+    public static PopupMenuAccessor getPopupMenuAccessor() {
-+        if (popupMenuAccessor == null) {
-+            unsafe.ensureClassInitialized(PopupMenu.class);
-+        }
-+        return popupMenuAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.ScrollPaneAdjustable class.
-+     */
-+    public static void setScrollPaneAdjustableAccessor(ScrollPaneAdjustableAccessor adj) {
-+        scrollPaneAdjustableAccessor = adj;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.ScrollPaneAdjustable
-+     * class.
-+     */
-+    public static ScrollPaneAdjustableAccessor getScrollPaneAdjustableAccessor() {
-+        if (scrollPaneAdjustableAccessor == null) {
-+            unsafe.ensureClassInitialized(ScrollPaneAdjustable.class);
-+        }
-+        return scrollPaneAdjustableAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.CheckboxMenuItem class.
-+     */
-+    public static void setCheckboxMenuItemAccessor(CheckboxMenuItemAccessor cmia) {
-+        checkboxMenuItemAccessor = cmia;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.CheckboxMenuItem class.
-+     */
-+    public static CheckboxMenuItemAccessor getCheckboxMenuItemAccessor() {
-+        if (checkboxMenuItemAccessor == null) {
-+            unsafe.ensureClassInitialized(CheckboxMenuItemAccessor.class);
-+        }
-+        return checkboxMenuItemAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.Cursor class.
-+     */
-+    public static void setCursorAccessor(CursorAccessor ca) {
-+        cursorAccessor = ca;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.Cursor class.
-+     */
-+    public static CursorAccessor getCursorAccessor() {
-+        if (cursorAccessor == null) {
-+            unsafe.ensureClassInitialized(CursorAccessor.class);
-+        }
-+        return cursorAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.MenuBar class.
-+     */
-+    public static void setMenuBarAccessor(MenuBarAccessor mba) {
-+        menuBarAccessor = mba;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.MenuBar class.
-+     */
-+    public static MenuBarAccessor getMenuBarAccessor() {
-+        if (menuBarAccessor == null) {
-+            unsafe.ensureClassInitialized(MenuBarAccessor.class);
-+        }
-+        return menuBarAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.MenuItem class.
-+     */
-+    public static void setMenuItemAccessor(MenuItemAccessor mia) {
-+        menuItemAccessor = mia;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.MenuItem class.
-+     */
-+    public static MenuItemAccessor getMenuItemAccessor() {
-+        if (menuItemAccessor == null) {
-+            unsafe.ensureClassInitialized(MenuItemAccessor.class);
-+        }
-+        return menuItemAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.Menu class.
-+     */
-+    public static void setMenuAccessor(MenuAccessor ma) {
-+        menuAccessor = ma;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.Menu class.
-+     */
-+    public static MenuAccessor getMenuAccessor() {
-+        if (menuAccessor == null) {
-+            unsafe.ensureClassInitialized(MenuAccessor.class);
-+        }
-+        return menuAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.event.KeyEvent class.
-+     */
-+    public static void setKeyEventAccessor(KeyEventAccessor kea) {
-+        keyEventAccessor = kea;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.event.KeyEvent class.
-+     */
-+    public static KeyEventAccessor getKeyEventAccessor() {
-+        if (keyEventAccessor == null) {
-+            unsafe.ensureClassInitialized(KeyEventAccessor.class);
-+        }
-+        return keyEventAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the javax.swing.ClientPropertyKey class.
-+     */
-+    public static void setClientPropertyKeyAccessor(ClientPropertyKeyAccessor cpka) {
-+        clientPropertyKeyAccessor = cpka;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the javax.swing.ClientPropertyKey class.
-+     */
-+    public static ClientPropertyKeyAccessor getClientPropertyKeyAccessor() {
-+        if (clientPropertyKeyAccessor == null) {
-+            unsafe.ensureClassInitialized(ClientPropertyKeyAccessor.class);
-+        }
-+        return clientPropertyKeyAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.SystemTray class.
-+     */
-+    public static void setSystemTrayAccessor(SystemTrayAccessor sta) {
-+        systemTrayAccessor = sta;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.SystemTray class.
-+     */
-+    public static SystemTrayAccessor getSystemTrayAccessor() {
-+        if (systemTrayAccessor == null) {
-+            unsafe.ensureClassInitialized(SystemTrayAccessor.class);
-+        }
-+        return systemTrayAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.TrayIcon class.
-+     */
-+    public static void setTrayIconAccessor(TrayIconAccessor tia) {
-+        trayIconAccessor = tia;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.TrayIcon class.
-+     */
-+    public static TrayIconAccessor getTrayIconAccessor() {
-+        if (trayIconAccessor == null) {
-+            unsafe.ensureClassInitialized(TrayIconAccessor.class);
-+        }
-+        return trayIconAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.DefaultKeyboardFocusManager class.
-+     */
-+    public static void setDefaultKeyboardFocusManagerAccessor(DefaultKeyboardFocusManagerAccessor dkfma) {
-+        defaultKeyboardFocusManagerAccessor = dkfma;
-+    }
-+
-+    /**
-+     * Retrieve the accessor object for the java.awt.DefaultKeyboardFocusManager class.
-+     */
-+    public static DefaultKeyboardFocusManagerAccessor getDefaultKeyboardFocusManagerAccessor() {
-+        if (defaultKeyboardFocusManagerAccessor == null) {
-+            unsafe.ensureClassInitialized(DefaultKeyboardFocusManagerAccessor.class);
-+        }
-+        return defaultKeyboardFocusManagerAccessor;
-+    }
-+
-     /*
-      * Retrieve the accessor object for the java.awt.AWTEvent class.
-      */
-@@ -129,4 +888,22 @@
-         }
-         return awtEventAccessor;
-     }
-+
-+    /*
-+     * Retrieve the accessor object for the java.awt.Dialog class.
-+     */
-+    public static DialogAccessor getDialogAccessor() {
-+        if (dialogAccessor == null) {
-+            unsafe.ensureClassInitialized(Dialog.class);
-+        }
-+        return dialogAccessor;
-+    }
-+
-+    /**
-+     * Set an accessor object for the java.awt.Dialog class.
-+     */
-+    public static void setDialogAccessor(DialogAccessor accessDialog) {
-+        dialogAccessor = accessDialog;
-+    }
-+
- }
-diff --git a/src/share/classes/sun/awt/ComponentAccessor.java b/src/share/classes/sun/awt/ComponentAccessor.java
---- openjdk/jdk/src/share/classes/sun/awt/ComponentAccessor.java
-+++ openjdk/jdk/src/share/classes/sun/awt/ComponentAccessor.java
-@@ -57,443 +57,129 @@
- 
- public class ComponentAccessor
- {
--    private static Class componentClass;
--    private static Field fieldX;
--    private static Field fieldY;
--    private static Field fieldWidth;
--    private static Field fieldHeight;
--    private static Method methodGetParentNoClientCode;
--    private static Method methodGetFontNoClientCode;
--    private static Method methodProcessEvent;
--    private static Method methodEnableEvents;
--    private static Field fieldParent;
--    private static Field fieldBackground;
--    private static Field fieldForeground;
--    private static Field fieldFont;
--    private static Field fieldPacked;
--    private static Field fieldIgnoreRepaint;
--    private static Field fieldPeer;
--    private static Method methodResetGC;
--    private static Field fieldVisible;
--    private static Method methodIsEnabledImpl;
--    private static Method methodGetCursorNoClientCode;
--    private static Method methodLocationNoClientCode;
- 
--    private static final Logger log = Logger.getLogger("sun.awt.ComponentAccessor");
-+    private static final AWTAccessor.ComponentAccessor ca = AWTAccessor.getComponentAccessor();
- 
-     private ComponentAccessor() {
-     }
- 
--    static {
--        AccessController.doPrivileged( new PrivilegedAction() {
--                public Object run() {
--                    try {
--                        componentClass = Class.forName("java.awt.Component");
--                        fieldX  = componentClass.getDeclaredField("x");
--                        fieldX.setAccessible(true);
--                        fieldY  = componentClass.getDeclaredField("y");
--                        fieldY.setAccessible(true);
--                        fieldWidth  = componentClass.getDeclaredField("width");
--                        fieldWidth.setAccessible(true);
--                        fieldHeight  = componentClass.getDeclaredField("height");
--                        fieldHeight.setAccessible(true);
--                        fieldForeground  = componentClass.getDeclaredField("foreground");
--                        fieldForeground.setAccessible(true);
--                        fieldBackground  = componentClass.getDeclaredField("background");
--                        fieldBackground.setAccessible(true);
--                        fieldFont = componentClass.getDeclaredField("font");
--                        fieldFont.setAccessible(true);
--                        methodGetParentNoClientCode = componentClass.getDeclaredMethod("getParent_NoClientCode", (Class[]) null);
--                        methodGetParentNoClientCode.setAccessible(true);
--                        methodGetFontNoClientCode = componentClass.getDeclaredMethod("getFont_NoClientCode", (Class[]) null);
--                        methodGetFontNoClientCode.setAccessible(true);
--                        Class[] argTypes = { AWTEvent.class };
--                        methodProcessEvent = componentClass.getDeclaredMethod("processEvent",argTypes);
--                        methodProcessEvent.setAccessible(true);
--                        Class[] argTypesForMethodEnableEvents = { Long.TYPE };
--                        methodEnableEvents = componentClass.getDeclaredMethod("enableEvents",argTypesForMethodEnableEvents);
--                        methodEnableEvents.setAccessible(true);
--
--                        fieldParent  = componentClass.getDeclaredField("parent");
--                        fieldParent.setAccessible(true);
--                        fieldPacked = componentClass.getDeclaredField("isPacked");
--                        fieldPacked.setAccessible(true);
--                        fieldIgnoreRepaint = componentClass.getDeclaredField("ignoreRepaint");
--                        fieldIgnoreRepaint.setAccessible(true);
--
--                        fieldPeer = componentClass.getDeclaredField("peer");
--                        fieldPeer.setAccessible(true);
--
--                        methodResetGC = componentClass.getDeclaredMethod("resetGC", (Class[]) null);
--                        methodResetGC.setAccessible(true);
--
--                        fieldVisible = componentClass.getDeclaredField("visible");
--                        fieldVisible.setAccessible(true);
--
--                        methodIsEnabledImpl = componentClass.getDeclaredMethod("isEnabledImpl", (Class[]) null);
--                        methodIsEnabledImpl.setAccessible(true);
--
--                        methodGetCursorNoClientCode = componentClass.getDeclaredMethod("getCursor_NoClientCode", (Class[]) null);
--                        methodGetCursorNoClientCode.setAccessible(true);
--
--                        methodLocationNoClientCode = componentClass.getDeclaredMethod("location_NoClientCode", (Class[]) null);
--                        methodLocationNoClientCode.setAccessible(true);
--                    }
--                    catch (NoSuchFieldException e) {
--                        log.log(Level.FINE, "Unable to initialize ComponentAccessor", e);
--                    }
--                    catch (ClassNotFoundException e) {
--                        log.log(Level.FINE, "Unable to initialize ComponentAccessor", e);
--                    }
--                    catch (NoSuchMethodException e) {
--                        log.log(Level.FINE, "Unable to initialize ComponentAccessor", e);
--                    }
--                    // to please javac
--                    return null;
--                }
--            });
--    }
--
-     public static void setX(Component c, int x)
-     {
--        try {
--            fieldX.setInt(c,x);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setX(c, x);
-     }
- 
-     public static void setY(Component c, int y)
-     {
--        try {
--            fieldY.setInt(c,y);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setY(c, y);
-     }
- 
-     public static void setWidth(Component c, int width)
-     {
--        try {
--            fieldWidth.setInt(c,width);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setWidth(c, width);
-     }
- 
-     public static void setHeight(Component c, int height)
-     {
--        try {
--            fieldHeight.setInt(c,height);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setHeight(c, height);
-     }
- 
-     public static void setBounds(Component c, int x, int y, int width, int height)
-     {
--        try {
--            fieldX.setInt(c,x);
--            fieldY.setInt(c,y);
--            fieldWidth.setInt(c,width);
--            fieldHeight.setInt(c,height);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setX(c, x);
-+        ca.setY(c, y);
-+        ca.setWidth(c, width);
-+        ca.setHeight(c, height);
-     }
- 
-     public static int getX(Component c) {
--        try {
--            return fieldX.getInt(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return 0;
-+        return ca.getX(c);
-     }
- 
-     public static int getY(Component c) {
--        try {
--            return fieldY.getInt(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return 0;
-+        return ca.getY(c);
-     }
- 
-     public static int getWidth(Component c) {
--        try {
--            return fieldWidth.getInt(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return 0;
-+        return ca.getWidth(c);
-     }
- 
-     public static int getHeight(Component c) {
--        try {
--            return fieldHeight.getInt(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return 0;
-+        return ca.getHeight(c);
-     }
- 
-     public static boolean getIsPacked(Component c) {
--        try {
--            return fieldPacked.getBoolean(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return false;
-+        return ca.isPacked(c);
-     }
- 
-     public static Container getParent_NoClientCode(Component c) {
--        Container parent=null;
--
--        try {
--            parent = (Container) methodGetParentNoClientCode.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
--
--        return parent;
-+        return ca.getParent(c);
-     }
- 
-     public static Font getFont_NoClientCode(Component c) {
--        Font font=null;
--
--        try {
--            font = (Font) methodGetFontNoClientCode.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
--
--        return font;
-+        return ca.getFont_NoClientCode(c);
-     }
- 
-     public static void processEvent(Component c, AWTEvent event) {
--        Font font=null;
--
--        try {
--            Object[] args = new Object[1];
--            args[0] = event;
--            methodProcessEvent.invoke(c,args);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
-+        ca.processEvent(c, event);
-     }
- 
-     public static void enableEvents(Component c, long event_mask) {
--        try {
--            Object[] args = new Object[1];
--            args[0] = Long.valueOf(event_mask);
--            methodEnableEvents.invoke(c,args);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
-+        ca.enableEvents(c, event_mask);
-     }
- 
-     public static void setParent(Component c, Container parent)
-     {
--        try {
--            fieldParent.set(c,parent);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setParent(c, parent);
-     }
- 
-     public static Color getForeground(Component c)
-     {
--        Color color = null;
--        try {
--            color = (Color) fieldForeground.get(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return color;
-+        return ca.getForeground(c);
-     }
- 
-     public static Color getBackground(Component c)
-     {
--        Color color = null;
--        try {
--            color = (Color) fieldBackground.get(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return color;
-+        return ca.getBackground(c);
-     }
- 
-     public static void setBackground(Component c, Color color) {
--        try {
--            fieldBackground.set(c, color);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setBackground(c, color);
-     }
- 
-     public static Font getFont(Component c)
-     {
--        Font f = null;
--        try {
--            f = (Font) fieldFont.get(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return f;
-+        return ca.getFont(c);
-     }
- 
-     public static ComponentPeer getPeer(Component c) {
--        ComponentPeer peer = null;
--        try {
--            peer = (ComponentPeer)fieldPeer.get(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return peer;
-+        return ca.getPeer(c);
-     }
- 
-     public static void setPeer(Component c, ComponentPeer peer) {
--        try {
--            fieldPeer.set(c, peer);
--        } catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
-+        ca.setPeer(c, peer);
-     }
- 
-     public static boolean getIgnoreRepaint(Component comp) {
--        try {
--            return fieldIgnoreRepaint.getBoolean(comp);
--        }
--        catch (IllegalAccessException e) {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--
--        return false;
-+        return ca.getIgnoreRepaint(comp);
-     }
- 
-     public static void resetGC(Component c) {
--        try {
--            methodResetGC.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e) {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
-+        ca.resetGC(c);
-     }
- 
-     public static boolean getVisible(Component c) {
--        try {
--            return fieldVisible.getBoolean(c);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        return false;
-+        return ca.isVisible(c);
-     }
- 
-     public static boolean isEnabledImpl(Component c) {
--        boolean enabled = true;
--        try {
--            enabled = (Boolean) methodIsEnabledImpl.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
--        return enabled;
-+        return ca.isEnabled(c);
-     }
- 
-     public static Cursor getCursor_NoClientCode(Component c) {
--        Cursor cursor = null;
--
--        try {
--            cursor = (Cursor) methodGetCursorNoClientCode.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
--
--        return cursor;
-+        return ca.getCursor(c);
-     }
- 
-     public static Point getLocation_NoClientCode(Component c) {
--        Point loc = null;
--
--        try {
--            loc = (Point) methodLocationNoClientCode.invoke(c, (Object[]) null);
--        }
--        catch (IllegalAccessException e)
--        {
--            log.log(Level.FINE, "Unable to access the Component object", e);
--        }
--        catch (InvocationTargetException e) {
--            log.log(Level.FINE, "Unable to invoke on the Component object", e);
--        }
--
--        return loc;
-+        return ca.getLocation(c);
-     }
- }
-diff --git a/src/share/classes/sun/awt/EmbeddedFrame.java b/src/share/classes/sun/awt/EmbeddedFrame.java
---- openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
-+++ openjdk/jdk/src/share/classes/sun/awt/EmbeddedFrame.java
-@@ -29,12 +29,6 @@
- import java.awt.event.*;
- import java.awt.image.*;
- import java.awt.peer.*;
--import java.security.AccessController;
--import java.security.PrivilegedAction;
--import java.lang.reflect.Constructor;
--import java.lang.reflect.InvocationTargetException;
--import java.lang.reflect.Modifier;
--import java.lang.reflect.Field;
- import java.beans.PropertyChangeListener;
- import java.beans.PropertyChangeEvent;
- import java.util.Set;
-@@ -63,8 +57,6 @@
-                           implements KeyEventDispatcher, PropertyChangeListener {
- 
-     private boolean isCursorAllowed = true;
--    private static Field fieldPeer;
--    private static Field currentCycleRoot;
-     private boolean supportsXEmbed = false;
-     private KeyboardFocusManager appletKFM;
-     // JDK 1.1 compatibility
-@@ -205,39 +197,8 @@
-      */
-     public boolean dispatchKeyEvent(KeyEvent e) {
- 
--        // We can't guarantee that this is called on the same AppContext as EmbeddedFrame
--        // belongs to. That's why we can't use public methods to find current focus cycle
--        // root. Instead, we access KFM's private field directly.
--        if (currentCycleRoot == null) {
--            currentCycleRoot = (Field)AccessController.doPrivileged(new PrivilegedAction() {
--                public Object run() {
--                    try {
--                        Field unaccessibleRoot = KeyboardFocusManager.class.
--                                                     getDeclaredField("currentFocusCycleRoot");
--                        if (unaccessibleRoot != null) {
--                            unaccessibleRoot.setAccessible(true);
--                        }
--                        return unaccessibleRoot;
--                    } catch (NoSuchFieldException e1) {
--                        assert false;
--                    } catch (SecurityException e2) {
--                        assert false;
--                    }
--                    return null;
--                }
--            });
--        }
--
--        Container currentRoot = null;
--        if (currentCycleRoot != null) {
--            try {
--                // The field is static, so we can pass null to Field.get() as the argument.
--                currentRoot = (Container)currentCycleRoot.get(null);
--            } catch (IllegalAccessException e3) {
--                // This is impossible: currentCycleRoot would be null if setAccessible failed.
--                assert false;
--            }
--        }
-+        Container currentRoot = AWTAccessor.getKeyboardFocusManagerAccessor()
-+                                    .getCurrentFocusCycleRoot();
- 
-         // if we are not in EmbeddedFrame's cycle, we should not try to leave.
-         if (this != currentRoot) {
-@@ -337,32 +298,8 @@
-     }
- 
-     protected  void setPeer(final ComponentPeer p){
--        if (fieldPeer == null) {
--            fieldPeer = (Field)AccessController.doPrivileged(new PrivilegedAction() {
--                    public Object run() {
--                        try {
--                            Field lnkPeer = Component.class.getDeclaredField("peer");
--                            if (lnkPeer != null) {
--                                lnkPeer.setAccessible(true);
--                            }
--                            return lnkPeer;
--                        } catch (NoSuchFieldException e) {
--                            assert false;
--                        } catch (SecurityException e) {
--                            assert false;
--                        }
--                        return null;
--                    }//run
--                });
--        }
--        try{
--            if (fieldPeer !=null){
--                fieldPeer.set(EmbeddedFrame.this, p);
--            }
--        } catch (IllegalAccessException e) {
--            assert false;
--        }
--    };  //setPeer method ends
-+        AWTAccessor.getComponentAccessor().setPeer(EmbeddedFrame.this, p);
-+    };
- 
-     /**
-      * Synthesize native message to activate or deactivate EmbeddedFrame window
-diff --git a/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java b/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
---- openjdk/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
-+++ openjdk/jdk/src/share/classes/sun/awt/KeyboardFocusManagerPeerImpl.java
-@@ -30,8 +30,6 @@
- 
- import java.awt.peer.KeyboardFocusManagerPeer;
- 
--import java.lang.reflect.InvocationTargetException;
--import java.lang.reflect.Method;
- 
- 
- public class KeyboardFocusManagerPeerImpl implements KeyboardFocusManagerPeer {
-@@ -56,18 +54,7 @@
-         clearNativeGlobalFocusOwner(activeWindow);
-     }
- 
--    static Method m_removeLastFocusRequest = null;
-     public static void removeLastFocusRequest(Component heavyweight) {
--        try {
--            if (m_removeLastFocusRequest == null) {
--                m_removeLastFocusRequest = SunToolkit.getMethod(KeyboardFocusManager.class, "removeLastFocusRequest",
--                                                              new Class[] {Component.class});
--            }
--            m_removeLastFocusRequest.invoke(null, new Object[]{heavyweight});
--        } catch (InvocationTargetException ite) {
--            ite.printStackTrace();
--        } catch (IllegalAccessException ex) {
--            ex.printStackTrace();
--        }
-+        AWTAccessor.getKeyboardFocusManagerAccessor().removeLastFocusRequest(heavyweight);
-     }
- }
-diff --git a/src/share/classes/sun/awt/SunToolkit.java b/src/share/classes/sun/awt/SunToolkit.java
---- openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java
-+++ openjdk/jdk/src/share/classes/sun/awt/SunToolkit.java
-@@ -37,6 +37,7 @@
- import java.awt.geom.AffineTransform;
- import java.awt.TrayIcon;
- import java.awt.SystemTray;
-+import java.lang.reflect.Constructor;
- import java.io.*;
- import java.net.URL;
- import java.net.JarURLConnection;
-@@ -53,14 +54,8 @@
- import sun.awt.image.*;
- import sun.security.action.GetPropertyAction;
- import sun.security.action.GetBooleanAction;
--import java.lang.reflect.Field;
--import java.lang.reflect.Method;
--import java.lang.reflect.Constructor;
- import java.lang.reflect.InvocationTargetException;
- import java.security.AccessController;
--import java.security.PrivilegedAction;
--import java.security.PrivilegedActionException;
--import java.security.PrivilegedExceptionAction;
- 
- public abstract class SunToolkit extends Toolkit
-     implements WindowClosingSupport, WindowClosingListener,
-@@ -82,14 +77,6 @@
-      */
-     public static final int GRAB_EVENT_MASK = 0x80000000;
- 
--    private static Field syncLWRequestsField;
--    private static Method  wakeupMethod;
--    private static Field componentKeyField;
--    private static Field menuComponentKeyField;
--    private static Field trayIconKeyField;
--    private static Field componentAppContextField;
--    private static Field menuComponentAppContextField;
--    private static Field isPostedField;
-     /* The key to put()/get() the PostEventQueue into/from the AppContext.
-      */
-     private static final String POST_EVENT_QUEUE_KEY = "PostEventQueue";
-@@ -225,7 +212,8 @@
-     public abstract RobotPeer createRobot(Robot target, GraphicsDevice screen)
-         throws AWTException;
- 
--    public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(KeyboardFocusManager manager) throws HeadlessException {
-+    public KeyboardFocusManagerPeer createKeyboardFocusManagerPeer(
-+            KeyboardFocusManager manager) throws HeadlessException {
-         KeyboardFocusManagerPeerImpl peer = new KeyboardFocusManagerPeerImpl(manager);
-         return peer;
-     }
-@@ -326,52 +314,8 @@
-         return appContext;
-     }
- 
--    public static Field getField(final Class klass, final String fieldName) {
--        return AccessController.doPrivileged(new PrivilegedAction<Field>() {
--            public Field run() {
--                try {
--                    Field field = klass.getDeclaredField(fieldName);
--                    assert (field != null);
--                    field.setAccessible(true);
--                    return field;
--                } catch (SecurityException e) {
--                    assert false;
--                } catch (NoSuchFieldException e) {
--                    assert false;
--                }
--                return null;
--            }//run
--        });
--    }
--
-     static void wakeupEventQueue(EventQueue q, boolean isShutdown){
--        if (wakeupMethod == null){
--            wakeupMethod = (Method)AccessController.doPrivileged(new PrivilegedAction(){
--                    public Object run(){
--                        try {
--                            Method method  = EventQueue.class.getDeclaredMethod("wakeup",new Class [] {Boolean.TYPE} );
--                            if (method != null) {
--                                method.setAccessible(true);
--                            }
--                            return method;
--                        } catch (NoSuchMethodException e) {
--                            assert false;
--                        } catch (SecurityException e) {
--                            assert false;
--                        }
--                        return null;
--                    }//run
--                });
--        }
--        try{
--            if (wakeupMethod != null){
--                wakeupMethod.invoke(q, new Object[]{Boolean.valueOf(isShutdown)});
--            }
--        } catch (InvocationTargetException e){
--            assert false;
--        } catch (IllegalAccessException e) {
--            assert false;
--        }
-+        AWTAccessor.getEventQueueAccessor().wakeup(q, isShutdown);
-     }
- 
-     /*
-@@ -420,20 +364,12 @@
-         if (!(target instanceof Component) && !(target instanceof MenuComponent)) {
-             return false;
-         }
--        try{
--            if (target instanceof Component){
--                if (componentAppContextField == null) {
--                    componentAppContextField = getField(Component.class, "appContext");
--                }
--                componentAppContextField.set(target, context);
--            } else if (target instanceof MenuComponent) {
--                if (menuComponentAppContextField == null) {
--                    menuComponentAppContextField = getField(MenuComponent.class, "appContext");
--                }
--                menuComponentAppContextField.set(target, context);
--            }
--        } catch( IllegalAccessException e){
--            assert false;
-+        if (target instanceof Component){
-+            Component comp = (Component) target;
-+            AWTAccessor.getComponentAccessor().setAppContext(comp, context);
-+        } else if (target instanceof MenuComponent) {
-+            MenuComponent menuComp = (MenuComponent) target;
-+            AWTAccessor.getMenuComponentAccessor().setAppContext(menuComp, context);
-         }
- 
-         return true;
-@@ -445,20 +381,12 @@
-      */
-     private static AppContext getAppContext(Object target) {
-         AppContext retObj = null;
--        try{
--            if (target instanceof Component){
--                if (componentAppContextField == null) {
--                    componentAppContextField = getField(Component.class, "appContext");
--                }
--                retObj = (AppContext) componentAppContextField.get(target);
--            } else if (target instanceof MenuComponent) {
--                if (menuComponentAppContextField == null) {
--                    menuComponentAppContextField = getField(MenuComponent.class, "appContext");
--                }
--                retObj = (AppContext) menuComponentAppContextField.get(target);
--            }
--        } catch( IllegalAccessException e){
--            assert false;
-+        if (target instanceof Component){
-+            Component comp = (Component) target;
-+            retObj = AWTAccessor.getComponentAccessor().getAppContext(comp);
-+        } else if (target instanceof MenuComponent) {
-+            MenuComponent menuComp = (MenuComponent) target;
-+            retObj = AWTAccessor.getMenuComponentAccessor().getAppContext(menuComp);
-         }
-         return retObj;
-     }
-@@ -508,17 +436,8 @@
-       */
- 
-     public static void setLWRequestStatus(Window changed,boolean status){
--        if (syncLWRequestsField == null){
--            syncLWRequestsField = getField(Window.class, "syncLWRequests");
--        }
--        try{
--            if (syncLWRequestsField != null){
--                syncLWRequestsField.setBoolean(changed, status);
--            }
--        } catch( IllegalAccessException e){
--            assert false;
--        }
--    };
-+        AWTAccessor.getWindowAccessor().setLWRequestStatus(changed, status);
-+    }
- 
-     public static void checkAndSetPolicy(Container cont, boolean isSwingCont)
-     {
-@@ -625,18 +544,9 @@
-      * Post AWTEvent of high priority.
-      */
-     public static void postPriorityEvent(final AWTEvent e) {
--        if (isPostedField == null) {
--            isPostedField = getField(AWTEvent.class, "isPosted");
--        }
-         PeerEvent pe = new PeerEvent(Toolkit.getDefaultToolkit(), new Runnable() {
-                 public void run() {
--                    try {
--                        isPostedField.setBoolean(e, true);
--                    } catch (IllegalArgumentException e) {
--                        assert(false);
--                    } catch (IllegalAccessException e) {
--                        assert(false);
--                    }
-+                    AWTAccessor.getAWTEventAccessor().setPosted(e);
-                     ((Component)e.getSource()).dispatchEvent(e);
-                 }
-             }, PeerEvent.ULTIMATE_PRIORITY_EVENT);
-@@ -745,36 +655,6 @@
-     }
- 
-     /*
--     * Returns next queue for the given EventQueue which has private access
--     */
--    private static EventQueue getNextQueue(final Object o) {
--        EventQueue result = null;
--        try{
--            Field nextQueueField = getField(EventQueue.class,
--                                            "nextQueue");
--            result = (EventQueue)nextQueueField.get(o);
--        } catch( IllegalAccessException e){
--            assert false;
--        }
--        return result;
--    }
--
--    /*
--     * Returns dispatch thread for the given EventQueue which has private access
--     */
--    private static Thread getDispatchThread(final Object o) {
--        Thread result = null;
--        try{
--            Field dispatchThreadField = getField(EventQueue.class,
--                                                 "dispatchThread");
--            result = (Thread)dispatchThreadField.get(o);
--        } catch( IllegalAccessException e){
--            assert false;
--        }
--        return result;
--    }
--
--    /*
-      * Returns true if the calling thread is the event dispatch thread
-      * contained within AppContext which associated with the given target.
-      * Use this call to ensure that a given task is being executed
-@@ -784,13 +664,14 @@
-         AppContext appContext = targetToAppContext(target);
-         EventQueue eq = (EventQueue)appContext.get(AppContext.EVENT_QUEUE_KEY);
- 
--        EventQueue next = getNextQueue(eq);
-+        EventQueue next = AWTAccessor.getEventQueueAccessor().getNextQueue(eq);
-         while (next != null) {
-             eq = next;
--            next = getNextQueue(eq);
-+            next = AWTAccessor.getEventQueueAccessor().getNextQueue(eq);
-         }
- 
--        return (Thread.currentThread() == getDispatchThread(eq));
-+        return (Thread.currentThread() == AWTAccessor.getEventQueueAccessor()
-+                                              .getDispatchThread(eq));
-     }
- 
-     public Dimension getScreenSize() {
-@@ -841,7 +722,8 @@
-      * value is {@code false}.
-      */
-     public static boolean getSunAwtNoerasebackground() {
--        return AccessController.doPrivileged(new GetBooleanAction("sun.awt.noerasebackground"));
-+        return AccessController.doPrivileged(
-+                new GetBooleanAction("sun.awt.noerasebackground"));
-     }
- 
-     /**
-@@ -849,7 +731,8 @@
-      * value is {@code false}.
-      */
-     public static boolean getSunAwtErasebackgroundonresize() {
--        return AccessController.doPrivileged(new GetBooleanAction("sun.awt.erasebackgroundonresize"));
-+        return AccessController.doPrivileged(
-+                new GetBooleanAction("sun.awt.erasebackgroundonresize"));
-     }
- 
- 
-@@ -1332,18 +1215,7 @@
-     private static Dialog.ModalExclusionType DEFAULT_MODAL_EXCLUSION_TYPE;
- 
-     static {
--        DEFAULT_MODAL_EXCLUSION_TYPE = (Dialog.ModalExclusionType)AccessController.doPrivileged(new PrivilegedAction() {
--            public Object run() {
--                Dialog.ModalExclusionType defaultType = Dialog.ModalExclusionType.NO_EXCLUDE;
--                try {
--                    java.lang.reflect.Field f = Dialog.class.getDeclaredField("DEFAULT_MODAL_EXCLUSION_TYPE");
--                    f.setAccessible(true);
--                    defaultType = (Dialog.ModalExclusionType)f.get(null);
--                } catch (Exception e) {
--                }
--                return defaultType;
--            }
--        });
-+        DEFAULT_MODAL_EXCLUSION_TYPE = AWTAccessor.getDialogAccessor().getDefaultModalExclusionType();
-     }
- 
-     /**
-@@ -1524,22 +1396,6 @@
-             || comp instanceof Window);
-     }
- 
--    public static Method getMethod(final Class clz, final String methodName, final Class[] params) {
--        Method res = null;
--        try {
--            res = AccessController.doPrivileged(new PrivilegedExceptionAction<Method>() {
--                    public Method run() throws Exception {
--                        Method m = clz.getDeclaredMethod(methodName, params);
--                        m.setAccessible(true);
--                        return m;
--                    }
--                });
--        } catch (PrivilegedActionException ex) {
--            ex.printStackTrace();
--        }
--        return res;
--    }
--
-     public static class OperationTimedOut extends RuntimeException {
-         public OperationTimedOut(String msg) {
-             super(msg);
-@@ -1682,21 +1538,9 @@
-     private boolean queueEmpty = false;
-     private final Object waitLock = "Wait Lock";
- 
--    static Method eqNoEvents;
--
-     private boolean isEQEmpty() {
-         EventQueue queue = getSystemEventQueueImpl();
--        synchronized(SunToolkit.class) {
--            if (eqNoEvents == null) {
--                eqNoEvents = getMethod(java.awt.EventQueue.class, "noEvents", null);
--            }
--        }
--        try {
--            return (Boolean)eqNoEvents.invoke(queue);
--        } catch (Exception e) {
--            e.printStackTrace();
--            return false;
--        }
-+        return AWTAccessor.getEventQueueAccessor().noEvents(queue);
-     }
- 
-     /**
-@@ -1951,20 +1795,14 @@
-      * consumeNextKeyTyped() method is not currently used,
-      * however Swing could use it in the future.
-      */
--    private static Method consumeNextKeyTypedMethod = null;
-     public static synchronized void consumeNextKeyTyped(KeyEvent keyEvent) {
--        if (consumeNextKeyTypedMethod == null) {
--            consumeNextKeyTypedMethod = getMethod(DefaultKeyboardFocusManager.class,
--                                                  "consumeNextKeyTyped",
--                                                  new Class[] {KeyEvent.class});
--        }
-         try {
--            consumeNextKeyTypedMethod.invoke(KeyboardFocusManager.getCurrentKeyboardFocusManager(),
--                                             keyEvent);
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
--        } catch (InvocationTargetException ite) {
--            ite.printStackTrace();
-+            AWTAccessor.getDefaultKeyboardFocusManagerAccessor().consumeNextKeyTyped(
-+                (DefaultKeyboardFocusManager)KeyboardFocusManager.
-+                    getCurrentKeyboardFocusManager(),
-+                keyEvent);
-+        } catch (ClassCastException cce) {
-+             cce.printStackTrace();
-         }
-     }
- 
-diff --git a/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java b/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XCheckboxMenuItemPeer.java
-@@ -29,27 +29,12 @@
- import java.awt.peer.*;
- import java.awt.event.*;
- 
--import java.lang.reflect.Field;
--import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- 
- class XCheckboxMenuItemPeer extends XMenuItemPeer implements CheckboxMenuItemPeer {
- 
-     /************************************************
-      *
--     * Data members
--     *
--     ************************************************/
--
--    /*
--     * CheckboxMenuItem's fields
--     */
--    private final static Field f_state;
--    static {
--        f_state = SunToolkit.getField(CheckboxMenuItem.class, "state");
--    }
--
--    /************************************************
--     *
-      * Construction
-      *
-      ************************************************/
-@@ -74,16 +59,8 @@
-      *
-      ************************************************/
-     boolean getTargetState() {
--        MenuItem target = getTarget();
--        if (target == null) {
--            return false;
--        }
--        try {
--            return f_state.getBoolean(target);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return false;
-+        return AWTAccessor.getCheckboxMenuItemAccessor()
-+                   .getState((CheckboxMenuItem)getTarget());
-     }
- 
-     /************************************************
-diff --git a/src/solaris/classes/sun/awt/X11/XComponentPeer.java b/src/solaris/classes/sun/awt/X11/XComponentPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XComponentPeer.java
-@@ -31,17 +31,13 @@
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Cursor;
--import java.awt.DefaultKeyboardFocusManager;
- import java.awt.Dimension;
--import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Insets;
- import java.awt.KeyboardFocusManager;
--import java.awt.MenuBar;
--import java.awt.Point;
- import java.awt.Rectangle;
- import java.awt.SystemColor;
- import java.awt.Toolkit;
-@@ -60,12 +56,9 @@
- import java.awt.image.ImageObserver;
- import java.awt.image.ImageProducer;
- import java.awt.image.VolatileImage;
--import java.awt.peer.CanvasPeer;
- import java.awt.peer.ComponentPeer;
- import java.awt.peer.ContainerPeer;
- import java.awt.peer.LightweightPeer;
--import java.awt.peer.PanelPeer;
--import java.awt.peer.WindowPeer;
- import java.lang.reflect.*;
- import java.security.*;
- import java.util.Collection;
-@@ -352,64 +345,16 @@
-         return (Window)comp;
-     }
- 
--    static Method processSynchronousLightweightTransferMethod;
-     static boolean processSynchronousLightweightTransfer(Component heavyweight, Component descendant,
-                                                   boolean temporary, boolean focusedWindowChangeAllowed,
-                                                   long time)
-     {
--        try {
--            if (processSynchronousLightweightTransferMethod == null) {
--                processSynchronousLightweightTransferMethod =
--                    (Method)AccessController.doPrivileged(
--                        new PrivilegedExceptionAction() {
--                                public Object run() throws IllegalAccessException, NoSuchMethodException
--                                {
--                                    Method m = KeyboardFocusManager.class.
--                                        getDeclaredMethod("processSynchronousLightweightTransfer",
--                                                          new Class[] {Component.class, Component.class,
--                                                                       Boolean.TYPE, Boolean.TYPE,
--                                                                       Long.TYPE});
--                                    m.setAccessible(true);
--                                    return m;
--                                }
--                            });
--            }
--            Object[] params = new Object[] {
--                        heavyweight,
--                        descendant,
--                        Boolean.valueOf(temporary),
--                        Boolean.valueOf(focusedWindowChangeAllowed),
--                        Long.valueOf(time)
--                    };
--            return ((Boolean)processSynchronousLightweightTransferMethod.invoke(null, params)).booleanValue();
--        } catch (PrivilegedActionException pae) {
--            pae.printStackTrace();
--            return false;
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
--            return false;
--        } catch (IllegalArgumentException iaee) {
--            iaee.printStackTrace();
--            return false;
--        } catch (InvocationTargetException ite) {
--            ite.printStackTrace();
--            return false;
--        }
-+        return AWTAccessor.getKeyboardFocusManagerAccessor().processSynchronousLightweightTransfer(
-+            heavyweight, descendant, temporary, focusedWindowChangeAllowed, time);
-     }
- 
--    static Method requestFocusWithCause;
--
-     static void callRequestFocus(Component target, CausedFocusEvent.Cause cause) {
--        if (requestFocusWithCause == null) {
--            requestFocusWithCause = SunToolkit.getMethod(Component.class, "requestFocus", new Class[] {CausedFocusEvent.Cause.class});
--        }
--        if (requestFocusWithCause != null) {
--            try {
--                requestFocusWithCause.invoke(target, new Object[] {cause});
--            } catch (Exception e) {
--                e.printStackTrace();
--            }
--        }
-+        AWTAccessor.getComponentAccessor().requestFocus(target, cause);
-     }
- 
-     final public boolean requestFocus(Component lightweightChild, boolean temporary,
-diff --git a/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java b/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
-@@ -29,14 +29,7 @@
- import java.awt.dnd.DropTarget;
- import java.awt.dnd.DropTargetListener;
- import java.awt.event.*;
--import java.awt.image.ColorModel;
--import java.awt.image.ImageObserver;
--import java.awt.image.ImageProducer;
--import java.awt.image.VolatileImage;
--import java.awt.peer.*;
- import sun.awt.*;
--import sun.awt.motif.X11FontMetrics;
--import java.lang.reflect.*;
- import java.util.logging.*;
- import java.util.*;
- import static sun.awt.X11.XEmbedHelper.*;
-@@ -455,16 +448,8 @@
-         }
-     }
- 
--    static Field bdataField;
-     static byte[] getBData(KeyEvent e) {
--        try {
--            if (bdataField == null) {
--                bdataField = SunToolkit.getField(java.awt.AWTEvent.class, "bdata");
--            }
--            return (byte[])bdataField.get(e);
--        } catch (IllegalAccessException ex) {
--            return null;
--        }
-+        return AWTAccessor.getAWTEventAccessor().getBData(e);
-     }
- 
-     void forwardKeyEvent(KeyEvent e) {
-diff --git a/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java b/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbeddingContainer.java
-@@ -29,7 +29,7 @@
- import java.util.HashMap;
- import java.awt.event.KeyEvent;
- import java.lang.reflect.*;
--import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- 
- public class XEmbeddingContainer extends XEmbedHelper implements XEventDispatcher {
-     HashMap children = new HashMap();
-@@ -127,20 +127,8 @@
-         }
-     }
- 
--    static Field bdata;
--    byte[] getBData(KeyEvent e) {
--        try {
--            if (bdata == null) {
--                bdata = SunToolkit.getField(java.awt.AWTEvent.class, "bdata");
--            }
--            return (byte[])bdata.get(e);
--        } catch (IllegalAccessException ex) {
--            return null;
--        }
--    }
--
-     void forwardKeyEvent(long child, KeyEvent e) {
--        byte[] bdata = getBData(e);
-+        byte[] bdata = AWTAccessor.getAWTEventAccessor().getBData(e);
-         long data = Native.toData(bdata);
-         if (data == 0) {
-             return;
-diff --git a/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java b/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XGlobalCursorManager.java
-@@ -29,8 +29,7 @@
- import java.awt.peer.ComponentPeer;
- import java.awt.peer.LightweightPeer;
- import java.lang.ref.WeakReference;
--import java.lang.reflect.Field;
--import java.lang.reflect.Method;
-+import sun.awt.AWTAccessor;
- import sun.awt.ComponentAccessor;
- 
- import sun.awt.GlobalCursorManager;
-@@ -38,23 +37,6 @@
- 
- public final class XGlobalCursorManager extends GlobalCursorManager {
- 
--    private static Field  field_pData;
--    private static Field  field_type;
--    private static Class  cursorClass;
--    private static Method method_setPData;
--    static {
--        cursorClass = java.awt.Cursor.class;
--        field_pData = SunToolkit.getField(cursorClass, "pData");
--        field_type  = SunToolkit.getField(cursorClass, "type");
--        method_setPData = SunToolkit.getMethod(cursorClass, "setPData", new Class[] {long.class});
--        if (field_pData == null || field_type == null || method_setPData == null) {
--            System.out.println("Unable to initialize XGlobalCursorManager: ");
--            Thread.dumpStack();
--
--        }
--    }
--
--
-     // cached nativeContainer
-     private WeakReference<Component> nativeContainer;
- 
-@@ -216,8 +198,8 @@
-         long pData = 0;
-         int type = 0;
-         try {
--            pData = field_pData.getLong(c);
--            type = field_type.getInt(c);
-+            pData = AWTAccessor.getCursorAccessor().getPData(c);
-+            type = AWTAccessor.getCursorAccessor().getType(c);
-         }
-         catch (Exception e)
-         {
-@@ -287,7 +269,7 @@
- 
-     static void setPData(Cursor c, long pData) {
-         try {
--            method_setPData.invoke(c, pData);
-+            AWTAccessor.getCursorAccessor().setPData(c, pData);
-         }
-         catch (Exception e)
-         {
-diff --git a/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java b/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XKeyboardFocusManagerPeer.java
-@@ -38,6 +38,7 @@
- import java.util.logging.Level;
- import java.util.logging.Logger;
- 
-+import sun.awt.AWTAccessor;
- import sun.awt.CausedFocusEvent;
- import sun.awt.SunToolkit;
- 
-@@ -130,46 +131,16 @@
-         return true;
-     }
- 
--    static Method shouldNativelyFocusHeavyweightMethod;
--
-     static int shouldNativelyFocusHeavyweight(Component heavyweight,
-          Component descendant, boolean temporary,
-          boolean focusedWindowChangeAllowed, long time, CausedFocusEvent.Cause cause)
-     {
--        if (shouldNativelyFocusHeavyweightMethod == null) {
--            Class[] arg_types =
--                new Class[] { Component.class,
--                              Component.class,
--                              Boolean.TYPE,
--                              Boolean.TYPE,
--                              Long.TYPE,
--                              CausedFocusEvent.Cause.class
--            };
--
--            shouldNativelyFocusHeavyweightMethod =
--                SunToolkit.getMethod(KeyboardFocusManager.class,
--                                   "shouldNativelyFocusHeavyweight",
--                                   arg_types);
--        }
--        Object[] args = new Object[] { heavyweight,
--                                       descendant,
--                                       Boolean.valueOf(temporary),
--                                       Boolean.valueOf(focusedWindowChangeAllowed),
--                                       Long.valueOf(time), cause};
--
--        int result = XComponentPeer.SNFH_FAILURE;
--        if (shouldNativelyFocusHeavyweightMethod != null) {
--            try {
--                result = ((Integer) shouldNativelyFocusHeavyweightMethod.invoke(null, args)).intValue();
--            }
--            catch (IllegalAccessException e) {
--                assert false;
--            }
--            catch (InvocationTargetException e) {
--                assert false;
--            }
--        }
--
--        return result;
-+         return AWTAccessor.getKeyboardFocusManagerAccessor()
-+                 .shouldNativelyFocusHeavyweight(heavyweight,
-+                                                 descendant,
-+                                                 temporary,
-+                                                 focusedWindowChangeAllowed,
-+                                                 time,
-+                                                 cause);
-     }
- }
-diff --git a/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java b/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuBarPeer.java
-@@ -31,6 +31,7 @@
- import java.lang.reflect.Field;
- import java.util.Vector;
- import java.util.logging.*;
-+import sun.awt.AWTAccessor;
- import sun.awt.SunToolkit;
- 
- public class XMenuBarPeer extends XBaseMenuWindow implements MenuBarPeer {
-@@ -67,15 +68,6 @@
-     private final static int BAR_ITEM_MARGIN_TOP = 2;
-     private final static int BAR_ITEM_MARGIN_BOTTOM = 2;
- 
--    //fields
--    private static Field f_helpMenu;
--    private static Field f_menus;
--
--    static {
--        f_helpMenu = SunToolkit.getField(MenuBar.class, "helpMenu");
--        f_menus = SunToolkit.getField(MenuBar.class, "menus");
--    }
--
-     /************************************************
-      *
-      * Mapping data
-@@ -204,16 +196,12 @@
-      */
-     void postInit(XCreateWindowParams params) {
-         super.postInit(params);
--        Vector targetMenuVector = null;
--        Menu targetHelpMenu = null;
--        try {
--            // Get menus from the target.
--            targetMenuVector = (Vector)f_menus.get(menuBarTarget);
--            targetHelpMenu = (Menu)f_helpMenu.get(menuBarTarget);
--            reloadItems(targetMenuVector);
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
--        }
-+        // Get menus from the target.
-+        Vector targetMenuVector = AWTAccessor.getMenuBarAccessor()
-+                                      .getMenus(menuBarTarget);
-+        Menu targetHelpMenu = AWTAccessor.getMenuBarAccessor()
-+                                  .getHelpMenu(menuBarTarget);
-+        reloadItems(targetMenuVector);
-         if (targetHelpMenu != null) {
-             addHelpMenu(targetHelpMenu);
-         }
-diff --git a/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java b/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuItemPeer.java
-@@ -30,10 +30,7 @@
- 
- import java.util.logging.*;
- 
--import java.lang.reflect.Field;
--import java.lang.reflect.Method;
--import java.lang.reflect.InvocationTargetException;
--import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- 
- public class XMenuItemPeer implements MenuItemPeer {
- 
-@@ -83,24 +80,6 @@
-     private final static int SEPARATOR_WIDTH = 20;
-     private final static int SEPARATOR_HEIGHT = 5;
- 
--    /*
--     * MenuItem's fields & methods
--     */
--    private final static Field f_enabled;
--    private final static Field f_label;
--    private final static Field f_shortcut;
--    private final static Method m_getFont;
--    private final static Method m_isItemEnabled;
--    private final static Method m_getActionCommand;
--    static {
--        f_enabled = SunToolkit.getField(MenuItem.class, "enabled");
--        f_label = SunToolkit.getField(MenuItem.class, "label");
--        f_shortcut = SunToolkit.getField(MenuItem.class, "shortcut");
--
--        m_getFont = SunToolkit.getMethod(MenuComponent.class, "getFont_NoClientCode", null);
--        m_getActionCommand = SunToolkit.getMethod(MenuItem.class, "getActionCommandImpl", null);
--        m_isItemEnabled = SunToolkit.getMethod(MenuItem.class, "isItemEnabled", null);
--    }
-     /************************************************
-      *
-      * Text Metrics
-@@ -218,39 +197,21 @@
-         if (target == null) {
-             return XWindow.defaultFont;
-         }
--        try {
--            return (Font)m_getFont.invoke(target, new Object[0]);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        } catch (InvocationTargetException e) {
--            e.printStackTrace();
--        }
--        return XWindow.defaultFont;
-+        return AWTAccessor.getMenuComponentAccessor().getFont_NoClientCode(target);
-     }
- 
-     String getTargetLabel() {
-         if (target == null) {
-             return "";
-         }
--        try {
--            String label = (String)f_label.get(target);
--            return (label == null) ? "" : label;
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return "";
-+        return AWTAccessor.getMenuItemAccessor().getLabel(target);
-     }
- 
-     boolean isTargetEnabled() {
-         if (target == null) {
-             return false;
-         }
--        try {
--            return f_enabled.getBoolean(target);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return false;
-+        return AWTAccessor.getMenuItemAccessor().isEnabled(target);
-     }
- 
-     /**
-@@ -262,40 +223,21 @@
-         if (target == null) {
-             return false;
-         }
--        try {
--            return ((Boolean)m_isItemEnabled.invoke(target, new Object[0])).booleanValue();
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        } catch (InvocationTargetException e) {
--            e.printStackTrace();
--        }
--        return false;
-+        return AWTAccessor.getMenuItemAccessor().isItemEnabled(target);
-     }
- 
-     String getTargetActionCommand() {
-         if (target == null) {
-             return "";
-         }
--        try {
--            return (String) m_getActionCommand.invoke(target,(Object[]) null);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        } catch (InvocationTargetException e) {
--            e.printStackTrace();
--        }
--        return "";
-+        return AWTAccessor.getMenuItemAccessor().getActionCommandImpl(target);
-     }
- 
-     MenuShortcut getTargetShortcut() {
-         if (target == null) {
-             return null;
-         }
--        try {
--            return (MenuShortcut)f_shortcut.get(target);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return null;
-+        return AWTAccessor.getMenuItemAccessor().getShortcut(target);
-     }
- 
-     String getShortcutText() {
-diff --git a/src/solaris/classes/sun/awt/X11/XMenuPeer.java b/src/solaris/classes/sun/awt/X11/XMenuPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XMenuPeer.java
-@@ -30,6 +30,7 @@
- import java.lang.reflect.Field;
- import java.util.Vector;
- import java.util.logging.*;
-+import sun.awt.AWTAccessor;
- import sun.awt.SunToolkit;
- 
- public class XMenuPeer extends XMenuItemPeer implements MenuPeer {
-@@ -46,16 +47,6 @@
-      */
-     XMenuWindow menuWindow;
- 
--
--    /*
--     * Menu's fields & methods
--     */
--    private final static Field f_items;
--
--    static {
--        f_items = SunToolkit.getField(Menu.class, "items");
--    }
--
-     /************************************************
-      *
-      * Construction
-@@ -153,12 +144,7 @@
-      *
-      ************************************************/
-     Vector getTargetItems() {
--        try {
--            return (Vector)f_items.get(getTarget());
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
--            return null;
--        }
-+        return AWTAccessor.getMenuAccessor().getItems((Menu)getTarget());
-     }
- 
-     /************************************************
-diff --git a/src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java b/src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XPopupMenuPeer.java
-@@ -28,11 +28,8 @@
- import java.awt.peer.*;
- import java.awt.event.*;
- 
--import java.lang.reflect.Field;
--import java.lang.reflect.Method;
--import java.lang.reflect.InvocationTargetException;
--
- import java.util.Vector;
-+import sun.awt.AWTAccessor;
- import java.util.logging.*;
- 
- import sun.awt.SunToolkit;
-@@ -66,24 +63,6 @@
-     private final static int CAPTION_MARGIN_TOP = 4;
-     private final static int CAPTION_SEPARATOR_HEIGHT = 6;
- 
--    /*
--     * Menu's fields & methods
--     */
--    //Fix for 6184485: Popup menu is not disabled on XToolkit even when calling setEnabled (false)
--    private final static Field f_enabled;
--    //Fix for 6267144: PIT: Popup menu label is not shown, XToolkit
--    private final static Field f_label;
--    private final static Method m_getFont;
--    private final static Field f_items;
--
--    static {
--        f_enabled = SunToolkit.getField(MenuItem.class, "enabled");
--        f_label = SunToolkit.getField(MenuItem.class, "label");
--        f_items = SunToolkit.getField(Menu.class, "items");
--        m_getFont = SunToolkit.getMethod(MenuComponent.class, "getFont_NoClientCode", null);
--    }
--
--
-     /************************************************
-      *
-      * Construction
-@@ -96,7 +75,7 @@
- 
-     /************************************************
-      *
--     * Implementaion of interface methods
-+     * Implementation of interface methods
-      *
-      ************************************************/
-     /*
-@@ -189,27 +168,16 @@
-         if (popupMenuTarget == null) {
-             return XWindow.defaultFont;
-         }
--        try {
--            return (Font)m_getFont.invoke(popupMenuTarget, new Object[0]);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        } catch (InvocationTargetException e) {
--            e.printStackTrace();
--        }
--        return XWindow.defaultFont;
-+        return AWTAccessor.getMenuComponentAccessor()
-+                   .getFont_NoClientCode(popupMenuTarget);
-     }
- 
-+    //Fix for 6267144: PIT: Popup menu label is not shown, XToolkit
-     String getTargetLabel() {
-         if (target == null) {
-             return "";
-         }
--        try {
--            String label = (String)f_label.get(popupMenuTarget);
--            return (label == null) ? "" : label;
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return "";
-+        return AWTAccessor.getMenuItemAccessor().getLabel(popupMenuTarget);
-     }
- 
-     //Fix for 6184485: Popup menu is not disabled on XToolkit even when calling setEnabled (false)
-@@ -217,21 +185,14 @@
-         if (popupMenuTarget == null) {
-             return false;
-         }
--        try {
--            return f_enabled.getBoolean(popupMenuTarget);
--        } catch (IllegalAccessException e) {
--            e.printStackTrace();
--        }
--        return false;
-+        return AWTAccessor.getMenuItemAccessor().isEnabled(popupMenuTarget);
-     }
- 
-     Vector getMenuTargetItems() {
--        try {
--            return (Vector)f_items.get(popupMenuTarget);
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
-+        if (popupMenuTarget == null) {
-             return null;
-         }
-+        return AWTAccessor.getMenuAccessor().getItems(popupMenuTarget);
-     }
- 
-     /************************************************
-diff --git a/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java b/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XScrollPanePeer.java
-@@ -29,7 +29,7 @@
- import java.awt.event.*;
- import java.awt.peer.*;
- import java.lang.reflect.*;
--import sun.awt.SunToolkit;
-+import sun.awt.AWTAccessor;
- 
- class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollbarClient {
- 
-@@ -41,9 +41,7 @@
-     public final static int     VERTICAL = 1 << 0;
-     public final static int     HORIZONTAL = 1 << 1;
- 
--    private static Method m_setValue;
-     static {
--        m_setValue = SunToolkit.getMethod(ScrollPaneAdjustable.class, "setTypedValue", new Class[] {Integer.TYPE, Integer.TYPE});
-         SCROLLBAR = XToolkit.getUIDefaults().getInt("ScrollBar.defaultWidth");
-     }
- 
-@@ -316,19 +314,9 @@
-     }
- 
-     void setAdjustableValue(ScrollPaneAdjustable adj, int value, int type) {
--        try {
--            m_setValue.invoke(adj, new Object[] {Integer.valueOf(value), Integer.valueOf(type)});
--        } catch (IllegalAccessException iae) {
--            adj.setValue(value);
--        } catch (IllegalArgumentException iae2) {
--            adj.setValue(value);
--        } catch (InvocationTargetException ite) {
--            adj.setValue(value);
--            ite.getCause().printStackTrace();
--        }
-+        AWTAccessor.getScrollPaneAdjustableAccessor().setTypedValue(adj, value, type);
-     }
- 
--
-     public void paint(Graphics g) {
-         paintComponent(g);
-     }
-diff --git a/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java b/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XTextAreaPeer.java
-@@ -59,6 +59,7 @@
- 
- import javax.swing.plaf.BorderUIResource;
- import java.awt.im.InputMethodRequests;
-+import sun.awt.AWTAccessor;
- import sun.awt.CausedFocusEvent;
- import sun.awt.ComponentAccessor;
- 
-@@ -985,8 +986,10 @@
-         // loading SystemFlavorMap and associated classes.
-         public void setTransferHandler(TransferHandler newHandler) {
-             TransferHandler oldHandler = (TransferHandler)
--                getClientProperty(XTextTransferHelper.getTransferHandlerKey());
--            putClientProperty(XTextTransferHelper.getTransferHandlerKey(),
-+                getClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
-+                                      .getJComponent_TRANSFER_HANDLER());
-+            putClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
-+                                  .getJComponent_TRANSFER_HANDLER(),
-                               newHandler);
- 
-             firePropertyChange("transferHandler", oldHandler, newHandler);
-diff --git a/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java b/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XTextFieldPeer.java
-@@ -53,6 +53,7 @@
- import java.awt.im.InputMethodRequests;
- 
- import java.util.logging.*;
-+import sun.awt.AWTAccessor;
- import sun.awt.CausedFocusEvent;
- import sun.awt.ComponentAccessor;
- 
-@@ -714,8 +715,10 @@
-         // loading SystemFlavorMap and associated classes.
-         public void setTransferHandler(TransferHandler newHandler) {
-             TransferHandler oldHandler = (TransferHandler)
--                getClientProperty(XTextTransferHelper.getTransferHandlerKey());
--            putClientProperty(XTextTransferHelper.getTransferHandlerKey(),
-+                getClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
-+                                      .getJComponent_TRANSFER_HANDLER());
-+            putClientProperty(AWTAccessor.getClientPropertyKeyAccessor()
-+                                  .getJComponent_TRANSFER_HANDLER(),
-                               newHandler);
- 
-             firePropertyChange("transferHandler", oldHandler, newHandler);
-diff --git a/src/solaris/classes/sun/awt/X11/XToolkit.java b/src/solaris/classes/sun/awt/X11/XToolkit.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java
-@@ -48,6 +48,7 @@
- import sun.font.FontManager;
- import sun.misc.PerformanceLogger;
- import sun.print.PrintJob2D;
-+import sun.security.action.GetPropertyAction;
- import sun.security.action.GetBooleanAction;
- import java.lang.reflect.*;
- 
-@@ -102,7 +103,6 @@
-     private static int screenWidth = -1, screenHeight = -1; // Dimensions of default screen
-     static long awt_defaultFg; // Pixel
-     private static XMouseInfoPeer xPeer;
--    private static Method m_removeSourceEvents;
- 
-     static {
-         initSecurityWarning();
-@@ -120,8 +120,6 @@
-             initIDs();
-             setBackingStoreType();
-         }
--        m_removeSourceEvents = SunToolkit.getMethod(EventQueue.class, "removeSourceEvents", new Class[] {Object.class, Boolean.TYPE}) ;
--
-         noisyAwtHandler = AccessController.doPrivileged(new GetBooleanAction("sun.awt.noisyerrorhandler"));
-     }
- 
-@@ -203,7 +201,8 @@
- 
-     static void initSecurityWarning() {
-         // Enable warning only for internal builds
--        String runtime = getSystemProperty("java.runtime.version");
-+        String runtime = AccessController.doPrivileged(
-+                             new GetPropertyAction("java.runtime.version"));
-         securityWarningEnabled = (runtime != null && runtime.contains("internal"));
-     }
- 
-@@ -1126,14 +1125,6 @@
-         }
-     }
- 
--    static String getSystemProperty(final String name) {
--        return (String)AccessController.doPrivileged(new PrivilegedAction() {
--                public Object run() {
--                    return System.getProperty(name);
--                }
--            });
--    }
--
-     public PrintJob getPrintJob(final Frame frame, final String doctitle,
-                                 final Properties props) {
- 
-@@ -1893,17 +1884,11 @@
-         return null;
-     }
- 
--    static void removeSourceEvents(EventQueue queue, Object source, boolean removeAllEvents) {
--        try {
--            m_removeSourceEvents.invoke(queue, source, removeAllEvents);
--        }
--        catch (IllegalAccessException e)
--        {
--            e.printStackTrace();
--        }
--        catch (InvocationTargetException e) {
--            e.printStackTrace();
--        }
-+    static void removeSourceEvents(EventQueue queue,
-+                                   Object source,
-+                                   boolean removeAllEvents) {
-+        AWTAccessor.getEventQueueAccessor()
-+            .removeSourceEvents(queue, source, removeAllEvents);
-     }
- 
-     public boolean isAlwaysOnTopSupported() {
-diff --git a/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java b/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XTrayIconPeer.java
-@@ -32,10 +32,8 @@
- import java.awt.image.*;
- import java.text.BreakIterator;
- import java.util.Vector;
--import java.lang.reflect.Field;
- import java.util.logging.Logger;
- import java.util.logging.Level;
--import java.util.AbstractQueue;
- import java.util.concurrent.ArrayBlockingQueue;
- import java.security.AccessController;
- import java.security.PrivilegedAction;
-diff --git a/src/solaris/classes/sun/awt/X11/XWindow.java b/src/solaris/classes/sun/awt/X11/XWindow.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindow.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindow.java
-@@ -68,7 +68,6 @@
-     int oldWidth = -1;
-     int oldHeight = -1;
- 
--
-     protected X11GraphicsConfig graphicsConfig;
-     protected AwtGraphicsConfigData graphicsConfigData;
- 
-@@ -363,18 +362,9 @@
- 
-     static Method m_sendMessage;
-     static void sendEvent(final AWTEvent e) {
--        if (isPostedField == null) {
--            isPostedField = SunToolkit.getField(AWTEvent.class, "isPosted");
--        }
-         PeerEvent pe = new PeerEvent(Toolkit.getDefaultToolkit(), new Runnable() {
-                 public void run() {
--                    try {
--                        isPostedField.setBoolean(e, true);
--                    } catch (IllegalArgumentException e) {
--                        assert(false);
--                    } catch (IllegalAccessException e) {
--                        assert(false);
--                    }
-+                    AWTAccessor.getAWTEventAccessor().setPosted(e);
-                     ((Component)e.getSource()).dispatchEvent(e);
-                 }
-             }, PeerEvent.ULTIMATE_PRIORITY_EVENT);
-@@ -1250,16 +1240,8 @@
-     }
- 
- 
--    static Field bdata;
-     static void setBData(KeyEvent e, byte[] data) {
--        try {
--            if (bdata == null) {
--                bdata = SunToolkit.getField(java.awt.AWTEvent.class, "bdata");
--            }
--            bdata.set(e, data);
--        } catch (IllegalAccessException ex) {
--            assert false;
--        }
-+        AWTAccessor.getAWTEventAccessor().setBData(e, data);
-     }
- 
-     public void postKeyEvent(int id, long when, int keyCode, char keyChar,
-diff --git a/src/solaris/classes/sun/awt/X11/XlibWrapper.java b/src/solaris/classes/sun/awt/X11/XlibWrapper.java
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
-@@ -27,6 +27,7 @@
- 
- import java.security.AccessController;
- import java.security.PrivilegedAction;
-+import sun.security.action.GetPropertyAction;
- import sun.misc.*;
- 
- public class XlibWrapper implements XConstants, XUtilConstants, XProtocolConstants,
-@@ -562,12 +563,8 @@
-     static final boolean isBuildInternal;
- 
-     static {
--        String dataModelProp = (String)AccessController.doPrivileged(
--            new PrivilegedAction() {
--                    public Object run() {
--                        return System.getProperty("sun.arch.data.model");
--                    }
--                });
-+        String dataModelProp = AccessController.doPrivileged(
-+            new GetPropertyAction("sun.arch.data.model"));
-         try {
-             dataModel = Integer.parseInt(dataModelProp);
-         } catch (Exception e) {
-@@ -610,7 +607,8 @@
-     }
- 
-     private static boolean getBuildInternal() {
--        String javaVersion = XToolkit.getSystemProperty("java.version");
-+        String javaVersion = AccessController.doPrivileged(
-+                                 new GetPropertyAction("java.version"));
-         return javaVersion != null && javaVersion.contains("internal");
-     }
- 
-diff --git a/src/solaris/classes/sun/awt/motif/MComponentPeer.java b/src/solaris/classes/sun/awt/motif/MComponentPeer.java
---- openjdk/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java
-+++ openjdk/jdk/src/solaris/classes/sun/awt/motif/MComponentPeer.java
-@@ -397,19 +397,8 @@
-         }
-     }
- 
--    static Method requestFocusWithCause;
--
-     static void callRequestFocusInWindow(Component target, CausedFocusEvent.Cause cause) {
--        if (requestFocusWithCause == null) {
--            requestFocusWithCause = SunToolkit.getMethod(Component.class, "requestFocusInWindow", new Class[] {CausedFocusEvent.Cause.class});
--        }
--        if (requestFocusWithCause != null) {
--            try {
--                requestFocusWithCause.invoke(target, new Object[] {cause});
--            } catch (Exception e) {
--                e.printStackTrace();
--            }
--        }
-+        AWTAccessor.getComponentAccessor().requestFocusInWindow(target, cause);
-     }
- 
-     public void handleEvent(AWTEvent e) {
-diff --git a/src/windows/classes/sun/awt/windows/WCanvasPeer.java b/src/windows/classes/sun/awt/windows/WCanvasPeer.java
---- openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WCanvasPeer.java
-@@ -27,7 +27,6 @@
- import java.awt.*;
- import java.awt.peer.*;
- import java.lang.ref.WeakReference;
--import java.lang.reflect.Method;
- import sun.awt.ComponentAccessor;
- import sun.awt.SunToolkit;
- import sun.awt.Win32GraphicsDevice;
-diff --git a/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java b/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
---- openjdk/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WMouseDragGestureRecognizer.java
-@@ -39,8 +39,6 @@
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionListener;
- 
--import java.lang.reflect.*;
--
- import sun.awt.dnd.SunDragSourceContextPeer;
- 
- /**
-diff --git a/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java b/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
---- openjdk/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WPopupMenuPeer.java
-@@ -28,34 +28,23 @@
- import java.awt.peer.*;
- import java.lang.reflect.Field;
- 
-+import sun.awt.AWTAccessor;
- import sun.awt.SunToolkit;
- 
- public class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer {
-     // We can't use target.getParent() for TrayIcon popup
-     // because this method should return null for the TrayIcon
-     // popup regardless of that whether it has parent or not.
--    private static Field f_parent;
--    private static Field f_isTrayIconPopup;
--
--    static {
--        f_parent = SunToolkit.getField(MenuComponent.class, "parent");
--        f_isTrayIconPopup = SunToolkit.getField(PopupMenu.class, "isTrayIconPopup");
--    }
- 
-     public WPopupMenuPeer(PopupMenu target) {
-         this.target = target;
-         MenuContainer parent = null;
-         boolean isTrayIconPopup = false;
--        try {
--            isTrayIconPopup = ((Boolean)f_isTrayIconPopup.get(target)).booleanValue();
--            if (isTrayIconPopup) {
--                parent = (MenuContainer)f_parent.get(target);
--            } else {
--                parent = target.getParent();
--            }
--        } catch (IllegalAccessException iae) {
--            iae.printStackTrace();
--            return;
-+        isTrayIconPopup = AWTAccessor.getPopupMenuAccessor().isTrayIconPopup(target);
-+        if (isTrayIconPopup) {
-+            parent = AWTAccessor.getMenuComponentAccessor().getParent(target);
-+        } else {
-+            parent = target.getParent();
-         }
- 
-         if (parent instanceof Component) {
-diff --git a/src/windows/classes/sun/awt/windows/WWindowPeer.java b/src/windows/classes/sun/awt/windows/WWindowPeer.java
---- openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
-+++ openjdk/jdk/src/windows/classes/sun/awt/windows/WWindowPeer.java
-@@ -32,8 +32,6 @@
- import java.beans.*;
- 
- import java.lang.ref.*;
--import java.lang.reflect.*;
--
- import java.security.*;
- 
- import java.util.*;
---- openjdk/jdk/src/solaris/classes/sun/awt/X11/XTextTransferHelper.java	Wed Aug 29 13:27:33 2012
-+++ /dev/null	Wed Aug 29 13:27:34 2012
-@@ -1,47 +0,0 @@
--/*
-- * Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
-- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-- *
-- * This code is free software; you can redistribute it and/or modify it
-- * under the terms of the GNU General Public License version 2 only, as
-- * published by the Free Software Foundation.  Oracle designates this
-- * particular file as subject to the "Classpath" exception as provided
-- * by Oracle in the LICENSE file that accompanied this code.
-- *
-- * This code is distributed in the hope that it will be useful, but WITHOUT
-- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-- * version 2 for more details (a copy is included in the LICENSE file that
-- * accompanied this code).
-- *
-- * You should have received a copy of the GNU General Public License version
-- * 2 along with this work; if not, write to the Free Software Foundation,
-- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-- *
-- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-- * or visit www.oracle.com if you need additional information or have any
-- * questions.
-- */
--
--package sun.awt.X11;
--
--import java.lang.reflect.Field;
--import sun.awt.SunToolkit;
--
--class XTextTransferHelper {
--    private static Object transferHandlerKey = null;
--    static Object getTransferHandlerKey() {
--        if (transferHandlerKey == null) {
--            try {
--                Class clazz = Class.forName("javax.swing.ClientPropertyKey");
--                Field field = SunToolkit.getField(clazz, "JComponent_TRANSFER_HANDLER");
--                transferHandlerKey = field.get(null);
--            } catch (IllegalAccessException ex) {
--                return null;
--            } catch (ClassNotFoundException cnfe) {
--                cnfe.printStackTrace();
--            }
--        }
--        return transferHandlerKey;
--    }
--}