Mercurial > hg > release > icedtea6-1.12
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; -- } --}