aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/openjdk
diff options
context:
space:
mode:
authorXerxes Rånby <xerxes@zafena.se>2010-07-20 17:30:03 +0200
committerXerxes Rånby <xerxes@zafena.se>2010-07-20 17:33:45 +0200
commit42f7784f1f3ddfa09417fb3d1d9e6ef3d23382cd (patch)
tree9b1f7fd4bb12e36d558fdf00caf7cb2848438155 /recipes/openjdk
parentd1dcd08e4ec0b65aaaef149bace47da16acf7626 (diff)
downloadopenembedded-42f7784f1f3ddfa09417fb3d1d9e6ef3d23382cd.tar.gz
openjdk-6-6b18: add pre1.8.1 releasebranch fixes up to 19 Jul 2010.
* openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch: Updated. fixes origin from http://icedtea.classpath.org/hg/release/icedtea6-1.8/shortlog
Diffstat (limited to 'recipes/openjdk')
-rw-r--r--recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch1610
-rw-r--r--recipes/openjdk/openjdk-6_6b18-1.8.bb2
2 files changed, 1483 insertions, 129 deletions
diff --git a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch
index 96f00c9f39..b48bcf0235 100644
--- a/recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch
+++ b/recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch
@@ -1,7 +1,41 @@
-diff -r a0120629678b ChangeLog
---- a/ChangeLog Wed Apr 14 12:21:03 2010 +0200
-+++ b/ChangeLog Fri Jul 16 14:30:37 2010 +0200
-@@ -1,3 +1,227 @@
+diff -r d1ad52447673 ChangeLog
+--- a/ChangeLog Wed Apr 14 12:21:30 2010 +0200
++++ b/ChangeLog Tue Jul 20 16:36:52 2010 +0200
+@@ -1,3 +1,261 @@
++2010-07-19 Gary Benson <gbenson@redhat.com>
++
++ PR icedtea/483
++ * ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp
++ (SharkNativeWrapper::initialize): Fix signedness of T_BYTE
++ and T_CHAR results.
++
++2010-07-16 Deepak Bhole <dbhole@redhat.com>
++
++ * patches/icedtea-policy-evaluation.patch: New patch. Fixes policy
++ evaluation to match the proprietary JDK.
++
++2010-07-15 Deepak Bhole <dbhole@redhat.com>
++
++ * patches/openjdk/6678385.patch: New file. Backpatched from jdk7 for
++ upstream bug#6678385. Fixes rhbz# 551835. Fixes jvm crashes when window is
++ resized.
++
++2010-07-14 Jon VanAlten <jon.vanalten@redhat.com>
++
++ * patches/icedtea-override-redirect-metacity.patch: Produces the
++ "expected" behavior for full screen applications or other situations
++ where developers wish to present elements that would cover things like
++ panels. We previously had a version of this patch since changeset 876
++ ebc064e8892d, but dropped it in changeset changeset 1731
++ 83619682858e because upstream had rejected as a metacity bug[1].
++ Metacity maintains that this behavior does not break any spec and does
++ not appear likely to change either[2], so we must be the "good guys" and
++ provide the expected behavior. See discussion[3].
++ [1] http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6514512
++ [2] https://bugzilla.gnome.org/show_bug.cgi?id=405269
++ [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-April/008862.html
++ * Makefile.am: Apply icedtea-override-redirect-metacity.patch.
++
+2010-07-13 Mark Wielaard <mjw@redhat.com>
+
+ Reported by William Cohen <wcohen@redhat.com>
@@ -229,10 +263,29 @@ diff -r a0120629678b ChangeLog
2010-04-12 Andrew John Hughes <ahughes@redhat.com>
PR icedtea/373
-diff -r a0120629678b Makefile.am
---- a/Makefile.am Wed Apr 14 12:21:03 2010 +0200
-+++ b/Makefile.am Fri Jul 16 14:30:37 2010 +0200
-@@ -374,7 +374,8 @@
+diff -r d1ad52447673 Makefile.am
+--- a/Makefile.am Wed Apr 14 12:21:30 2010 +0200
++++ b/Makefile.am Tue Jul 20 16:36:52 2010 +0200
+@@ -298,6 +298,7 @@
+ patches/icedtea-linux-separate-debuginfo.patch \
+ patches/icedtea-parisc.patch \
+ patches/icedtea-sh4-support.patch \
++ patches/icedtea-policy-evaluation.patch \
+ patches/libpng.patch \
+ patches/extensions/netx.patch \
+ patches/extensions/netx-dist.patch \
+@@ -326,7 +327,9 @@
+ patches/security/20100330/6932480.patch \
+ patches/ant-1.8.0.patch \
+ patches/icedtea-nss-6763530.patch \
+- patches/nss-debug.patch
++ patches/nss-debug.patch \
++ patches/icedtea-override-redirect-metacity.patch \
++ patches/openjdk/6678385.patch
+
+ if WITH_RHINO
+ ICEDTEA_PATCHES += \
+@@ -374,7 +377,8 @@
endif
if ENABLE_SYSTEMTAP
@@ -242,7 +295,7 @@ diff -r a0120629678b Makefile.am
endif
if ENABLE_NSS
-@@ -2024,7 +2025,8 @@
+@@ -2024,7 +2028,8 @@
mkdir -p test/langtools/JTwork test/langtools/JTreport
$(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \
-w:test/langtools/JTwork -r:test/langtools/JTreport \
@@ -252,7 +305,7 @@ diff -r a0120629678b Makefile.am
$(ICEDTEA_JTREG_OPTIONS) \
`pwd`/openjdk/langtools/test \
| tee test/$@.log
-@@ -2033,7 +2035,8 @@
+@@ -2033,7 +2038,8 @@
mkdir -p test/jdk/JTwork test/jdk/JTreport
$(ICEDTEA_BOOT_DIR)/bin/java -jar test/jtreg.jar -v1 -a -ignore:quiet \
-w:test/jdk/JTwork -r:test/jdk/JTreport \
@@ -262,9 +315,9 @@ diff -r a0120629678b Makefile.am
-exclude:$(abs_top_srcdir)/test/jtreg/excludelist.jdk.jtx \
$(ICEDTEA_JTREG_OPTIONS) \
`pwd`/openjdk/jdk/test \
-diff -r a0120629678b acinclude.m4
---- a/acinclude.m4 Wed Apr 14 12:21:03 2010 +0200
-+++ b/acinclude.m4 Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 acinclude.m4
+--- a/acinclude.m4 Wed Apr 14 12:21:30 2010 +0200
++++ b/acinclude.m4 Tue Jul 20 16:36:52 2010 +0200
@@ -85,7 +85,7 @@
CROSS_TARGET_ARCH=s390x
ARCHFLAG="-m64"
@@ -351,9 +404,9 @@ diff -r a0120629678b acinclude.m4
AC_SUBST(MOZILLA_VERSION_COLLAPSED, $xulrunner_cv_collapsed_version)
fi
])
-diff -r a0120629678b netx/net/sourceforge/jnlp/Launcher.java
---- a/netx/net/sourceforge/jnlp/Launcher.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/Launcher.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/Launcher.java
+--- a/netx/net/sourceforge/jnlp/Launcher.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Jul 20 16:36:52 2010 +0200
@@ -442,7 +442,7 @@
Method main = mainClass.getDeclaredMethod("main", new Class[] {String[].class} );
String args[] = file.getApplication().getArguments();
@@ -412,9 +465,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/Launcher.java
return appletInstance;
}
-diff -r a0120629678b netx/net/sourceforge/jnlp/Parser.java
---- a/netx/net/sourceforge/jnlp/Parser.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/Parser.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/Parser.java
+--- a/netx/net/sourceforge/jnlp/Parser.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/Parser.java Tue Jul 20 16:36:52 2010 +0200
@@ -1169,11 +1169,15 @@
Node jnlpNode = getChildNode(document, "jnlp"); // skip comments
*/
@@ -503,9 +556,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/Parser.java
}
-
-diff -r a0120629678b netx/net/sourceforge/jnlp/SecurityDesc.java
---- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/SecurityDesc.java
+--- a/netx/net/sourceforge/jnlp/SecurityDesc.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/SecurityDesc.java Tue Jul 20 16:36:52 2010 +0200
@@ -31,12 +31,9 @@
*/
public class SecurityDesc {
@@ -522,9 +575,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/SecurityDesc.java
/** All permissions. */
public static final Object ALL_PERMISSIONS = "All";
-diff -r a0120629678b netx/net/sourceforge/jnlp/cache/CacheUtil.java
---- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/cache/CacheUtil.java
+--- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Tue Jul 20 16:36:52 2010 +0200
@@ -26,6 +26,7 @@
import net.sourceforge.jnlp.*;
@@ -558,9 +611,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/cache/CacheUtil.java
/**
* Waits until the resources are downloaded, while showing a
-diff -r a0120629678b netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
---- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
+--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Jul 20 16:36:52 2010 +0200
@@ -32,6 +32,7 @@
import java.security.Permissions;
import java.security.PrivilegedAction;
@@ -733,9 +786,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
}
/**
-diff -r a0120629678b netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
---- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
+--- a/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Tue Jul 20 16:36:52 2010 +0200
@@ -23,10 +23,12 @@
import java.awt.event.WindowEvent;
import java.lang.ref.WeakReference;
@@ -809,9 +862,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java
/**
* Asks the user whether or not to grant permission.
* @param perm the permission to be granted
-diff -r a0120629678b netx/net/sourceforge/jnlp/services/XSingleInstanceService.java
---- a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/services/XSingleInstanceService.java
+--- a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Tue Jul 20 16:36:52 2010 +0200
@@ -145,14 +145,21 @@
}
@@ -836,9 +889,9 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/services/XSingleInstanceService.j
}
/**
-diff -r a0120629678b netx/net/sourceforge/jnlp/util/FileUtils.java
---- a/netx/net/sourceforge/jnlp/util/FileUtils.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/netx/net/sourceforge/jnlp/util/FileUtils.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 netx/net/sourceforge/jnlp/util/FileUtils.java
+--- a/netx/net/sourceforge/jnlp/util/FileUtils.java Wed Apr 14 12:21:30 2010 +0200
++++ b/netx/net/sourceforge/jnlp/util/FileUtils.java Tue Jul 20 16:36:52 2010 +0200
@@ -14,35 +14,58 @@
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -912,9 +965,1308 @@ diff -r a0120629678b netx/net/sourceforge/jnlp/util/FileUtils.java
-
+
}
-diff -r a0120629678b patches/systemtap-gcc-4.5.patch
+diff -r d1ad52447673 patches/icedtea-override-redirect-metacity.patch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/patches/systemtap-gcc-4.5.patch Fri Jul 16 14:30:37 2010 +0200
++++ b/patches/icedtea-override-redirect-metacity.patch Tue Jul 20 16:36:52 2010 +0200
+@@ -0,0 +1,11 @@
++--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig 2008-05-25 17:31:31.000000000 +0200
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java 2008-05-25 17:33:32.000000000 +0200
++@@ -1124,6 +1124,8 @@
++
++ boolean isOverrideRedirect() {
++ return (XWM.getWMID() == XWM.OPENLOOK_WM ? true : false) ||
+++ (XWM.getWMID() == XWM.METACITY_WM ? true : false) ||
+++ target.getName().equals("###overrideRedirect###") ||
++ ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target) ||
++ XTrayIconPeer.isTrayIconStuffWindow((Window)target);
++ }
+diff -r d1ad52447673 patches/icedtea-policy-evaluation.patch
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/patches/icedtea-policy-evaluation.patch Tue Jul 20 16:36:52 2010 +0200
+@@ -0,0 +1,35 @@
++# This patch aligns policy evaluation to be the same as the proprietary JDK.
++# http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-July/009658.html
++# https://bugs.openjdk.java.net/show_bug.cgi?id=100142
++
++diff -up ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav ./jdk/src/share/classes/sun/security/provider/PolicyFile.java
++--- ./openjdk.orig/jdk/src/share/classes/sun/security/provider/PolicyFile.java.sav 2010-04-20 14:49:13.000000000 -0400
+++++ ./openjdk/jdk/src/share/classes/sun/security/provider/PolicyFile.java 2010-04-20 14:50:26.000000000 -0400
++@@ -1799,6 +1799,27 @@ public class PolicyFile extends java.sec
++
++ CodeSource canonCs = cs;
++ URL u = cs.getLocation();
+++
+++ // If this is a jar protocol url, collapse it to a
+++ // file protocol to process it as per the javadocs
+++ if (u != null && u.getProtocol().equals("jar")) {
+++ try {
+++ String fileURL = "";
+++
+++ // remove the initial jar:
+++ fileURL = u.getPath();
+++
+++ // remove the part after the !
+++ fileURL = fileURL.substring(0, fileURL.indexOf('!'));
+++
+++ u = new URL(fileURL);
+++
+++ } catch (Exception e) {
+++ // Fail silently. In this case, url stays what it was above
+++ }
+++
+++ }
+++
++ if (u != null && u.getProtocol().equals("file")) {
++ boolean isLocalFile = false;
++ String host = u.getHost();
+diff -r d1ad52447673 patches/openjdk/6678385.patch
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/patches/openjdk/6678385.patch Tue Jul 20 16:36:52 2010 +0200
+@@ -0,0 +1,1241 @@
++# HG changeset patch
++# User art
++# Date 1242387635 -14400
++# Node ID f62f7fcc9965cd0b110f07b4cd42c419f77717c1
++# Parent b28b073e72b625a4d8b6e71010a2968b5fc85124
++6678385: Random java.lang.StackOverflowError from various JDKs
++Reviewed-by: stayer
++
++IcedTea6 note: This patch (upstream bz#6678385) fixes rhbz# 551835.
++
++diff -uNr openjdk.orig/jdk/make/sun/xawt/mapfile-vers openjdk/jdk/make/sun/xawt/mapfile-vers
++--- openjdk.orig/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:21.755105655 -0400
+++++ openjdk/jdk/make/sun/xawt/mapfile-vers 2010-07-15 10:28:42.630981569 -0400
++@@ -125,6 +125,7 @@
++ Java_sun_awt_X11_XlibWrapper_SetToolkitErrorHandler;
++ Java_sun_awt_X11_XlibWrapper_XSetErrorHandler;
++ Java_sun_awt_X11_XlibWrapper_CallErrorHandler;
+++ Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent;
++ Java_sun_awt_X11_XlibWrapper_XInternAtoms;
++ Java_sun_awt_X11_XlibWrapper_XChangeWindowAttributes;
++ Java_sun_awt_X11_XlibWrapper_XDeleteProperty;
++@@ -269,7 +270,6 @@
++ Java_sun_awt_X11_XToolkit_getDefaultXColormap;
++ Java_sun_awt_X11_XToolkit_getDefaultScreenData;
++ Java_sun_awt_X11_XToolkit_getEnv;
++- Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler;
++ Java_sun_awt_X11_XlibWrapper_XCreateBitmapFromData;
++ Java_sun_awt_X11_XlibWrapper_XFreePixmap;
++ Java_sun_awt_X11_XlibWrapper_XAllocColor;
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:21.905105617 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDConstants.java 2010-07-15 10:28:42.631981678 -0400
++@@ -119,7 +119,7 @@
++ false,
++ XlibWrapper.AnyPropertyType);
++ try {
++- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg.getData() != 0 &&
++@@ -189,7 +189,7 @@
++ try {
++ Native.putLong(data, motifWindow);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(),
++ defaultRootWindow,
++ XA_MOTIF_DRAG_WINDOW.getAtom(),
++@@ -276,7 +276,7 @@
++ false,
++ XA_MOTIF_DRAG_TARGETS.getAtom());
++ try {
++- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success
++ || wpg.getActualType() != XA_MOTIF_DRAG_TARGETS.getAtom()
++@@ -390,7 +390,7 @@
++ }
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(),
++ motifWindow,
++ XA_MOTIF_DRAG_TARGETS.getAtom(),
++@@ -406,7 +406,7 @@
++ // Create a new motif window and retry.
++ motifWindow = createMotifWindow();
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(),
++ motifWindow,
++ XA_MOTIF_DRAG_TARGETS.getAtom(),
++@@ -530,7 +530,7 @@
++ // CARD32 icc_handle
++ unsafe.putInt(structData + 4, (int)XA_MOTIF_ATOM_0.getAtom());
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window,
++ XA_MOTIF_ATOM_0.getAtom(),
++ XA_MOTIF_DRAG_INITIATOR_INFO.getAtom(),
++@@ -563,7 +563,7 @@
++ unsafe.putShort(data + 10, (short)0); /* pad */
++ unsafe.putInt(data + 12, dataSize);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(), window,
++ XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++ XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:21.905105617 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDragSourceProtocol.java 2010-07-15 10:28:42.633981353 -0400
++@@ -184,7 +184,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ /*
++ * DragICCI.h:
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:21.904105558 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/MotifDnDDropTargetProtocol.java 2010-07-15 10:28:42.636014780 -0400
++@@ -102,7 +102,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ /*
++ * DragICCI.h:
++@@ -162,7 +162,7 @@
++ unsafe.putInt(data + 12, dataSize);
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder,
++ MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++ MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++@@ -204,7 +204,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ /*
++ * DragICCI.h:
++@@ -236,7 +236,7 @@
++
++ unsafe.putInt(data + 4, tproxy);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangeProperty(XToolkit.getDisplay(), embedder,
++ MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++ MotifDnDConstants.XA_MOTIF_DRAG_RECEIVER_INFO.getAtom(),
++@@ -276,7 +276,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ /*
++ * DragICCI.h:
++@@ -325,7 +325,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == (int)XlibWrapper.Success && wpg.getData() != 0 &&
++ wpg.getActualType() != 0 && wpg.getActualFormat() == 8 &&
++@@ -375,7 +375,7 @@
++ MotifDnDConstants.XA_MOTIF_DRAG_INITIATOR_INFO.getAtom());
++
++ try {
++- int status = wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success && wpg.getData() != 0 &&
++ wpg.getActualType() ==
++@@ -412,7 +412,7 @@
++ */
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ source_win, wattr.pData);
++
++@@ -429,7 +429,7 @@
++ wattr.dispose();
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win,
++ source_win_mask |
++ XlibWrapper.StructureNotifyMask);
++@@ -1020,7 +1020,7 @@
++ if (sourceWindow != 0) {
++ XToolkit.awtLock();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow,
++ sourceWindowMask);
++ XToolkit.RESTORE_XERROR_HANDLER();
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:21.900105578 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/WindowPropertyGetter.java 2010-07-15 10:28:42.637046074 -0400
++@@ -75,7 +75,7 @@
++ public int execute() {
++ return execute(null);
++ }
++- public int execute(XToolkit.XErrorHandler errorHandler) {
+++ public int execute(XErrorHandler errorHandler) {
++
++ XToolkit.awtLock();
++ try {
++@@ -94,7 +94,7 @@
++
++ // Fix for performance problem - IgnodeBadWindowHandler is
++ // used too much without reason, just ignore it
++- if (errorHandler == XToolkit.IgnoreBadWindowHandler) {
+++ if (errorHandler instanceof XErrorHandler.IgnoreBadWindowHandler) {
++ errorHandler = null;
++ }
++
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:21.896105637 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XAWTXSettings.java 2010-07-15 10:28:42.637981716 -0400
++@@ -122,7 +122,7 @@
++ new WindowPropertyGetter(owner, xSettingsPropertyAtom, 0, MAX_LENGTH,
++ false, xSettingsPropertyAtom.getAtom() );
++ try {
++- int status = getter.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success || getter.getData() == 0) {
++ if (log.isLoggable(Level.FINE)) log.fine("OH OH : getter failed status = " + status );
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:21.895105718 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDecoratedPeer.java 2010-07-15 10:28:42.640232090 -0400
++@@ -1155,7 +1155,8 @@
++ }
++
++ boolean isOverrideRedirect() {
++- return false;
+++// return false;
+++ return ((XToolkit)Toolkit.getDefaultToolkit()).isOverrideRedirect((Window)target);
++ }
++
++ public boolean requestWindowFocus(long time, boolean timeProvided) {
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:21.906105640 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDragSourceProtocol.java 2010-07-15 10:28:42.642232277 -0400
++@@ -96,7 +96,7 @@
++ action_count++;
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndActionList.setAtomData(window,
++ XAtom.XA_ATOM,
++ data, action_count);
++@@ -117,7 +117,7 @@
++ try {
++ Native.put(data, formats);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndTypeList.setAtomData(window,
++ XAtom.XA_ATOM,
++ data, formats.length);
++@@ -195,7 +195,7 @@
++ new WindowPropertyGetter(window, XDnDConstants.XA_XdndAware, 0, 1,
++ false, XlibWrapper.AnyPropertyType);
++
++- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
++@@ -215,7 +215,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg2.getData() != 0 &&
++@@ -233,7 +233,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg3.getData() == 0 ||
++@@ -249,7 +249,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg4.getData() == 0 ||
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:21.903105589 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDnDDropTargetProtocol.java 2010-07-15 10:28:42.645236553 -0400
++@@ -88,7 +88,7 @@
++ try {
++ Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndAware.setAtomData(window, XAtom.XA_ATOM, data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++
++@@ -122,7 +122,7 @@
++ false, XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
++@@ -141,7 +141,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg2.getData() != 0 &&
++@@ -159,7 +159,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg3.getData() == 0 ||
++@@ -175,7 +175,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg4.getData() == 0 ||
++@@ -205,7 +205,7 @@
++
++ /* The proxy window must have the XdndAware set, as XDnD protocol
++ prescribes to check the proxy window for XdndAware. */
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndAware.setAtomData(newProxy, XAtom.XA_ATOM,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -219,7 +219,7 @@
++ Native.putLong(data, 0, newProxy);
++
++ /* The proxy window must have the XdndProxy set to point to itself.*/
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndProxy.setAtomData(newProxy, XAtom.XA_WINDOW,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -232,7 +232,7 @@
++
++ Native.putLong(data, 0, XDnDConstants.XDND_PROTOCOL_VERSION);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -245,7 +245,7 @@
++
++ Native.putLong(data, 0, newProxy);
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -278,7 +278,7 @@
++ try {
++ Native.putLong(data, 0, entry.getVersion());
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndAware.setAtomData(embedder, XAtom.XA_ATOM,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -291,7 +291,7 @@
++
++ Native.putLong(data, 0, (int)entry.getProxy());
++
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndProxy.setAtomData(embedder, XAtom.XA_WINDOW,
++ data, 1);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -329,7 +329,7 @@
++ false, XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg1.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
++@@ -348,7 +348,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg2.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg2.getData() != 0 &&
++@@ -366,7 +366,7 @@
++ 0, 1, false, XAtom.XA_WINDOW);
++
++ try {
++- status = wpg3.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg3.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg3.getData() == 0 ||
++@@ -382,7 +382,7 @@
++ XlibWrapper.AnyPropertyType);
++
++ try {
++- status = wpg4.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = wpg4.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status != XlibWrapper.Success ||
++ wpg4.getData() == 0 ||
++@@ -411,7 +411,7 @@
++ false, XlibWrapper.AnyPropertyType);
++
++ try {
++- int status = wpg1.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = wpg1.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (status == XlibWrapper.Success &&
++ wpg1.getData() != 0 && wpg1.getActualType() == XAtom.XA_ATOM) {
++@@ -473,7 +473,7 @@
++ 0, 0xFFFF, false,
++ XAtom.XA_ATOM);
++ try {
++- wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (wpg.getActualType() == XAtom.XA_ATOM &&
++ wpg.getActualFormat() == 32) {
++@@ -505,7 +505,7 @@
++ 0, 0xFFFF, false,
++ XAtom.XA_ATOM);
++ try {
++- wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (wpg.getActualType() == XAtom.XA_ATOM &&
++ wpg.getActualFormat() == 32) {
++@@ -541,7 +541,7 @@
++ */
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ source_win, wattr.pData);
++
++@@ -558,7 +558,7 @@
++ wattr.dispose();
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), source_win,
++ source_win_mask |
++ XlibWrapper.StructureNotifyMask);
++@@ -963,7 +963,7 @@
++ if (sourceWindow != 0) {
++ XToolkit.awtLock();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), sourceWindow,
++ sourceWindowMask);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -1104,14 +1104,14 @@
++ 0, 0xFFFF, false,
++ XAtom.XA_ATOM);
++ try {
++- wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++ if (wpg.getActualType() == XAtom.XA_ATOM &&
++ wpg.getActualFormat() == 32) {
++
++ XToolkit.awtLock();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XWM.VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XDnDConstants.XA_XdndTypeList.setAtomData(xclient.get_window(),
++ XAtom.XA_ATOM,
++ wpg.getData(),
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java 2010-07-15 10:28:21.896105637 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDragSourceProtocol.java 2010-07-15 10:28:42.646232066 -0400
++@@ -181,7 +181,7 @@
++ long time) {
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ targetWindow, wattr.pData);
++
++@@ -198,7 +198,7 @@
++ wattr.dispose();
++ }
++
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), targetWindow,
++ targetWindowMask |
++ XlibWrapper.StructureNotifyMask);
++@@ -214,7 +214,7 @@
++ }
++
++ protected final void finalizeDrop() {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), targetWindow,
++ targetWindowMask);
++ XToolkit.RESTORE_XERROR_HANDLER();
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java 2010-07-15 10:28:21.906105640 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java 2010-07-15 10:28:42.648232198 -0400
++@@ -172,7 +172,7 @@
++ if (dest_x >= 0 && dest_y >= 0) {
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ window, wattr.pData);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -226,7 +226,7 @@
++ long event_mask = 0;
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ embedder, wattr.pData);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -244,7 +244,7 @@
++ }
++
++ if ((event_mask & XlibWrapper.PropertyChangeMask) == 0) {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), embedder,
++ event_mask | XlibWrapper.PropertyChangeMask);
++ XToolkit.RESTORE_XERROR_HANDLER();
++@@ -398,7 +398,7 @@
++
++ /* Restore the original event mask for the embedder. */
++ if ((event_mask & XlibWrapper.PropertyChangeMask) == 0) {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ XlibWrapper.XSelectInput(XToolkit.getDisplay(), embedder,
++ event_mask);
++ XToolkit.RESTORE_XERROR_HANDLER();
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java 2010-07-15 10:28:21.897105547 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XEmbedCanvasPeer.java 2010-07-15 10:28:42.650232331 -0400
++@@ -301,7 +301,7 @@
++ try {
++ XWindowAttributes wattr = new XWindowAttributes();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ xembed.handle, wattr.pData);
++
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java 1969-12-31 19:00:00.000000000 -0500
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XErrorHandler.java 2010-07-15 10:28:42.651989313 -0400
++@@ -0,0 +1,79 @@
+++/*
+++ * Copyright 2009 Sun Microsystems, Inc. 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. Sun designates this
+++ * particular file as subject to the "Classpath" exception as provided
+++ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+++ * CA 95054 USA or visit www.sun.com if you need additional information or
+++ * have any questions.
+++ */
+++package sun.awt.X11;
+++
+++public abstract class XErrorHandler {
+++
+++ /*
+++ * Called under AWT lock
+++ */
+++ public abstract int handleError(long display, XErrorEvent err);
+++
+++ /*
+++ * Forwards all the errors to saved error handler (which was
+++ * set before XToolkit had been initialized).
+++ */
+++ public static class XBaseErrorHandler extends XErrorHandler {
+++ @Override
+++ public int handleError(long display, XErrorEvent err) {
+++ return XToolkit.SAVED_ERROR_HANDLER(display, err);
+++ }
+++ }
+++
+++ /*
+++ * Instead of validating window id, we simply call XGetWindowProperty,
+++ * but temporary install this function as the error handler to ignore
+++ * BadWindow error.
+++ */
+++ public static class IgnoreBadWindowHandler extends XBaseErrorHandler {
+++ @Override
+++ public int handleError(long display, XErrorEvent err) {
+++ if (err.get_error_code() == XConstants.BadWindow) {
+++ return 0;
+++ }
+++ return super.handleError(display, err);
+++ }
+++ // Shared instance
+++ private static IgnoreBadWindowHandler theInstance = new IgnoreBadWindowHandler();
+++ public static IgnoreBadWindowHandler getInstance() {
+++ return theInstance;
+++ }
+++ }
+++
+++ public static class VerifyChangePropertyHandler extends XBaseErrorHandler {
+++ @Override
+++ public int handleError(long display, XErrorEvent err) {
+++ if (err.get_request_code() == XProtocolConstants.X_ChangeProperty) {
+++ return 0;
+++ }
+++ return super.handleError(display, err);
+++ }
+++ // Shared instance
+++ private static IgnoreBadWindowHandler theInstance = new IgnoreBadWindowHandler();
+++ public static IgnoreBadWindowHandler getInstance() {
+++ return theInstance;
+++ }
+++ }
+++}
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XlibUtil.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibUtil.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XlibUtil.java 2010-07-15 10:28:21.893105473 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibUtil.java 2010-07-15 10:28:42.651989313 -0400
++@@ -149,7 +149,7 @@
++ new XTranslateCoordinates(src, dst, p.x, p.y);
++ try
++ {
++- int status = xtc.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = xtc.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ if ((status != 0) &&
++ ((XToolkit.saved_error == null) ||
++ (XToolkit.saved_error.get_error_code() == XlibWrapper.Success)))
++@@ -306,7 +306,7 @@
++ XWM.XA_WM_STATE);
++ try
++ {
++- wpg.execute(XToolkit.IgnoreBadWindowHandler);
+++ wpg.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ if (wpg.getActualType() == XWM.XA_WM_STATE.getAtom())
++ {
++ return true;
++@@ -345,7 +345,7 @@
++ XWindowAttributes wattr = new XWindowAttributes();
++ try
++ {
++- XToolkit.WITH_XERROR_HANDLER(XToolkit.IgnoreBadWindowHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ int status = XlibWrapper.XGetWindowAttributes(XToolkit.getDisplay(),
++ window, wattr.pData);
++ XToolkit.RESTORE_XERROR_HANDLER();
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java 2010-07-15 10:28:21.905105617 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XlibWrapper.java 2010-07-15 10:28:42.654187919 -0400
++@@ -613,4 +613,6 @@
++ String javaVersion = XToolkit.getSystemProperty("java.version");
++ return javaVersion != null && javaVersion.contains("internal");
++ }
+++
+++ static native void PrintXErrorEvent(long display, long event_ptr);
++ }
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java 2010-07-15 10:28:21.893105473 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XProtocol.java 2010-07-15 10:28:42.655357930 -0400
++@@ -35,20 +35,6 @@
++ private Map<XAtom, XAtomList> atomToList = new HashMap<XAtom, XAtomList>();
++ private Map<XAtom, Long> atomToAnchor = new HashMap<XAtom, Long>();
++
++- /*
++- * Temporary error handler that ensures that we know if
++- * XChangeProperty succeeded or not.
++- */
++- static XToolkit.XErrorHandler VerifyChangePropertyHandler = new XToolkit.XErrorHandler() {
++- public int handleError(long display, XErrorEvent err) {
++- XToolkit.XERROR_SAVE(err);
++- if (err.get_request_code() == XlibWrapper.X_ChangeProperty) {
++- return 0;
++- } else {
++- return XToolkit.SAVED_ERROR_HANDLER(display, err);
++- }
++- }
++- };
++ volatile boolean firstCheck = true;
++ /*
++ * Check that that the list of protocols specified by WM in property
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XQueryTree.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XQueryTree.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XQueryTree.java 2010-07-15 10:28:21.894105746 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XQueryTree.java 2010-07-15 10:28:42.662356819 -0400
++@@ -51,7 +51,7 @@
++ public int execute() {
++ return execute(null);
++ }
++- public int execute(XToolkit.XErrorHandler errorHandler) {
+++ public int execute(XErrorHandler errorHandler) {
++ XToolkit.awtLock();
++ try {
++ if (isDisposed()) {
++diff -uNr 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 2010-07-15 10:28:21.896105637 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XToolkit.java 2010-07-15 10:30:45.039232001 -0400
++@@ -48,6 +48,7 @@
++ import sun.font.FontManager;
++ import sun.misc.PerformanceLogger;
++ import sun.print.PrintJob2D;
+++import sun.security.action.GetBooleanAction;
++ import java.lang.reflect.*;
++
++ public class XToolkit extends UNIXToolkit implements Runnable, XConstants {
++@@ -120,62 +121,78 @@
++ setBackingStoreType();
++ }
++ m_removeSourceEvents = SunToolkit.getMethod(EventQueue.class, "removeSourceEvents", new Class[] {Object.class, Boolean.TYPE}) ;
+++ noisyAwtHandler = AccessController.doPrivileged(new GetBooleanAction("sun.awt.noisyerrorhandler"));
+++
++ }
++
++- // Error handler stuff
++- static XErrorEvent saved_error;
++- static long saved_error_handler;
++- static XErrorHandler curErrorHandler;
++- // Should be called under LOCK, before releasing LOCK RESTORE_XERROR_HANDLER should be called
++- static void WITH_XERROR_HANDLER(XErrorHandler handler) {
+++ //---- ERROR HANDLER CODE ----//
+++
+++ /*
+++ * Error handler at the moment of XToolkit initialization
+++ */
+++ private static long saved_error_handler;
+++
+++ /*
+++ * XErrorEvent being handled
+++ */
+++ static volatile XErrorEvent saved_error;
+++
+++ /*
+++ * Current error handler or null if no error handler is set
+++ */
+++ private static XErrorHandler current_error_handler;
+++
+++ /*
+++ * Value of sun.awt.noisyerrorhandler system property
+++ */
+++ private static boolean noisyAwtHandler;
+++
+++ public static void WITH_XERROR_HANDLER(XErrorHandler handler) {
++ saved_error = null;
++- curErrorHandler = handler;
++- XSync();
++- saved_error_handler = XlibWrapper.SetToolkitErrorHandler();
++- }
++- static void XERROR_SAVE(XErrorEvent event) {
++- saved_error = event;
+++ current_error_handler = handler;
++ }
++- // Should be called under LOCK
++- static void RESTORE_XERROR_HANDLER() {
++- XSync();
++- XlibWrapper.XSetErrorHandler(saved_error_handler);
++- curErrorHandler = null;
+++
+++ public static void RESTORE_XERROR_HANDLER() {
+++ current_error_handler = null;
++ }
+++
++ // Should be called under LOCK
++- static int SAVED_ERROR_HANDLER(long display, XErrorEvent error) {
++- return XlibWrapper.CallErrorHandler(saved_error_handler, display, error.pData);
++- }
++- interface XErrorHandler {
++- int handleError(long display, XErrorEvent err);
+++ public static int SAVED_ERROR_HANDLER(long display, XErrorEvent error) {
+++ if (saved_error_handler != 0) {
+++ // Default XErrorHandler may just terminate the process. Don't call it.
+++ // return XlibWrapper.CallErrorHandler(saved_error_handler, display, error.pData);
+++ }
+++ if (log.isLoggable(Level.FINE)) {
+++ log.log(Level.FINE, "Unhandled XErrorEvent: " +
+++ "id=" + error.get_resourceid() + ", " +
+++ "serial=" + error.get_serial() + ", " +
+++ "ec=" + error.get_error_code() + ", " +
+++ "rc=" + error.get_request_code() + ", " +
+++ "mc=" + error.get_minor_code());
+++ }
+++ return 0;
++ }
++- static int GlobalErrorHandler(long display, long event_ptr) {
+++
+++ // Called from the native code when an error occurs
+++ private static int globalErrorHandler(long display, long event_ptr) {
+++ if (noisyAwtHandler) {
+++ XlibWrapper.PrintXErrorEvent(display, event_ptr);
+++ }
++ XErrorEvent event = new XErrorEvent(event_ptr);
+++ saved_error = event;
++ try {
++- if (curErrorHandler != null) {
++- return curErrorHandler.handleError(display, event);
+++ if (current_error_handler != null) {
+++ return current_error_handler.handleError(display, event);
++ } else {
++ return SAVED_ERROR_HANDLER(display, event);
++ }
++- } finally {
+++ } catch (Throwable z) {
+++ log.log(Level.FINE, "Error in GlobalErrorHandler", z);
++ }
+++ return 0;
++ }
++
++-/*
++- * Instead of validating window id, we simply call XGetWindowProperty,
++- * but temporary install this function as the error handler to ignore
++- * BadWindow error.
++- */
++- static XErrorHandler IgnoreBadWindowHandler = new XErrorHandler() {
++- public int handleError(long display, XErrorEvent err) {
++- XERROR_SAVE(err);
++- if (err.get_error_code() == BadWindow) {
++- return 0;
++- } else {
++- return SAVED_ERROR_HANDLER(display, err);
++- }
++- }
++- };
+++ //---- END OF ERROR HANDLER CODE ----//
++
++
++ private native static void initIDs();
++@@ -269,17 +286,27 @@
++
++ arrowCursor = XlibWrapper.XCreateFontCursor(XToolkit.getDisplay(),
++ XCursorFontConstants.XC_arrow);
+++
+++ saved_error_handler = XlibWrapper.SetToolkitErrorHandler();
+++
++ } finally {
++ awtUnlock();
++ }
++
++- if (log.isLoggable(Level.FINE)) {
++- Runtime.getRuntime().addShutdownHook(new Thread() {
++- public void run() {
+++ Runtime.getRuntime().addShutdownHook(new Thread() {
+++ public void run() {
+++ if (log.isLoggable(Level.FINE)) {
++ dumpPeers();
++- }
++- });
++- }
+++ }
+++
+++ awtLock();
+++ try {
+++ XlibWrapper.XSetErrorHandler(saved_error_handler);
+++ } finally {
+++ awtUnlock();
+++ }
+++ }
+++ });
++ }
++
++ static String getCorrectXIDString(String val) {
++@@ -2162,5 +2189,4 @@
++ return new XDesktopPeer();
++ }
++
++- public static native void setNoisyXErrorHandler();
++ }
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java 2010-07-15 10:28:21.900105578 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XTranslateCoordinates.java 2010-07-15 10:28:42.666356882 -0400
++@@ -57,7 +57,7 @@
++ public int execute() {
++ return execute(null);
++ }
++- public int execute(XToolkit.XErrorHandler errorHandler) {
+++ public int execute(XErrorHandler errorHandler) {
++ XToolkit.awtLock();
++ try {
++ if (isDisposed()) {
++diff -uNr openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWM.java openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java
++--- openjdk.orig/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2010-07-15 10:28:21.896105637 -0400
+++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java 2010-07-15 10:28:42.668356704 -0400
++@@ -273,7 +273,7 @@
++ winmgr_running = false;
++ substruct.set_event_mask(XlibWrapper.SubstructureRedirectMask);
++
++- XToolkit.WITH_XERROR_HANDLER(DetectWMHandler);
+++ XToolkit.WITH_XERROR_HANDLER(detectWMHandler);
++ XlibWrapper.XChangeWindowAttributes(XToolkit.getDisplay(),
++ XToolkit.getDefaultRootWindow(),
++ XlibWrapper.CWEventMask,
++@@ -318,7 +318,7 @@
++ new WindowPropertyGetter(window, XA_ENLIGHTENMENT_COMMS, 0, 14, false,
++ XAtom.XA_STRING);
++ try {
++- int status = getter.execute(XToolkit.IgnoreBadWindowHandler);
+++ int status = getter.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++ if (status != XlibWrapper.Success || getter.getData() == 0) {
++ return 0;
++ }
++@@ -442,7 +442,7 @@
++ new WindowPropertyGetter(wmwin, XA_DT_SM_STATE_INFO, 0, 1,
++ false, XA_DT_SM_STATE_INFO);
++ try {
++- status = getter2.execute(XToolkit.IgnoreBadWindowHandler);
+++ status = getter2.execute(XErrorHandler.IgnoreBadWindowHandler.getInstance());
++
++
++ if (status != XlibWrapper.Success || getter2.getData() == 0) {
++@@ -574,21 +574,6 @@
++ }
++
++ /*
++- * Temporary error handler that ensures that we know if
++- * XChangeProperty succeeded or not.
++- */
++- static XToolkit.XErrorHandler VerifyChangePropertyHandler = new XToolkit.XErrorHandler() {
++- public int handleError(long display, XErrorEvent err) {
++- XToolkit.XERROR_SAVE(err);
++- if (err.get_request_code() == XlibWrapper.X_ChangeProperty) {
++- return 0;
++- } else {
++- return XToolkit.SAVED_ERROR_HANDLER(display, err);
++- }
++- }
++- };
++-
++- /*
++ * Prepare IceWM check.
++ *
++ * The only way to detect IceWM, seems to be by setting
++@@ -623,7 +608,7 @@
++
++ XToolkit.awtLock();
++ try {
++- XToolkit.WITH_XERROR_HANDLER(VerifyChangePropertyHandler);
+++ XToolkit.WITH_XERROR_HANDLER(XErrorHandler.VerifyChangePropertyHandler.getInstance());
++ XlibWrapper.XChangePropertyS(XToolkit.getDisplay(), XToolkit.getDefaultRootWindow(),
++ XA_ICEWM_WINOPTHINT.getAtom(),
++ XA_ICEWM_WINOPTHINT.getAtom(),
++@@ -691,20 +676,19 @@
++ * Temporary error handler that checks if selecting for
++ * SubstructureRedirect failed.
++ */
++- static boolean winmgr_running = false;
++- static XToolkit.XErrorHandler DetectWMHandler = new XToolkit.XErrorHandler() {
++- public int handleError(long display, XErrorEvent err) {
++- XToolkit.XERROR_SAVE(err);
++- if (err.get_request_code() == XlibWrapper.X_ChangeWindowAttributes
++- && err.get_error_code() == XlibWrapper.BadAccess)
++- {
++- winmgr_running = true;
++- return 0;
++- } else {
++- return XToolkit.SAVED_ERROR_HANDLER(display, err);
++- }
+++ private static boolean winmgr_running = false;
+++ private static XErrorHandler detectWMHandler = new XErrorHandler.XBaseErrorHandler() {
+++ @Override
+++ public int handleError(long display, XErrorEvent err) {
+++ if ((err.get_request_code() == XProtocolConstants.X_ChangeWindowAttributes) &&
+++ (err.get_error_code() == XConstants.BadAccess))
+++ {
+++ winmgr_running = true;
+++ return 0;
++ }
++- };
+++ return super.handleError(display, err);
+++ }
+++ };
++
++ /*
++ * Make an educated guess about running window manager.
++diff -uNr 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 2010-07-15 10:28:21.866105645 -0400
+++++ openjdk/jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c 2010-07-15 10:28:42.670355820 -0400
++@@ -175,42 +175,11 @@
++ }
++
++ #ifndef HEADLESS
+++
++ /*
++- * error handlers
+++ * XIOErrorHandler
++ */
++-
++-int
++-xerror_handler(Display * disp, XErrorEvent * err)
++-{
++-/* #ifdef DEBUG */
++- char msg[128];
++- char buf[128];
++- char *ev = getenv("NOISY_AWT");
++-
++- if (!ev || !ev[0])
++- return 0;
++- XGetErrorText(disp, err->error_code, msg, sizeof(msg));
++- jio_fprintf(stderr, "Xerror %s, XID %x, ser# %d\n", msg, err->resourceid, err->serial);
++- jio_snprintf(buf, sizeof(buf), "%d", err->request_code);
++- XGetErrorDatabaseText(disp, "XRequest", buf, "Unknown", msg, sizeof(msg));
++- jio_fprintf(stderr, "Major opcode %d (%s)\n", err->request_code, msg);
++- if (err->request_code > 128) {
++- jio_fprintf(stderr, "Minor opcode %d\n", err->minor_code);
++- }
++- if (awtLockInited) {
++- /*SignalError(lockedee->lastpc, lockedee, "fp/ade/gui/GUIException", msg); */
++- }
++- if (strcasecmp(ev, "abort") == 0) {
++- JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
++-
++- (*env)->FatalError(env, "xerror_handler abort");
++- }
++-/* #endif */
++- return 0;
++-}
++-
++-static int
++-xioerror_handler(Display * disp)
+++static int xioerror_handler(Display *disp)
++ {
++ if (awtLockInited) {
++ if (errno == EPIPE) {
++@@ -806,7 +775,6 @@
++ return NULL;
++ }
++
++- XSetErrorHandler(xerror_handler);
++ XSetIOErrorHandler(xioerror_handler);
++
++ /* set awt_numScreens, and whether or not we're using Xinerama */
++diff -uNr openjdk.orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c openjdk/jdk/src/solaris/native/sun/awt/awt_InputMethod.c
++--- openjdk.orig/jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2010-07-15 10:28:21.865105640 -0400
+++++ openjdk/jdk/src/solaris/native/sun/awt/awt_InputMethod.c 2010-07-15 10:28:42.671355975 -0400
++@@ -1458,7 +1458,6 @@
++ }
++
++ static void OpenXIMCallback(Display *display, XPointer client_data, XPointer call_data) {
++- extern int xerror_handler();
++ XIMCallback ximCallback;
++
++ X11im = XOpenIM(display, NULL, NULL, NULL);
++@@ -1469,13 +1468,6 @@
++ ximCallback.callback = (XIMProc)DestroyXIMCallback;
++ ximCallback.client_data = NULL;
++ XSetIMValues(X11im, XNDestroyCallback, &ximCallback, NULL);
++-
++- /* Workaround for Solaris 2.6 bug 4097754. We're affected by this problem
++- * because Motif also calls XOpenIM for us. Re-registering the error handler
++- * that MToolkit has registered already after calling XOpenIM avoids the
++- * problem.
++- */
++- XSetErrorHandler(xerror_handler);
++ }
++
++ static void DestroyXIMCallback(XIM im, XPointer client_data, XPointer call_data) {
++diff -uNr 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 2010-07-15 10:28:21.867105700 -0400
+++++ openjdk/jdk/src/solaris/native/sun/awt/awt_MToolkit.c 2010-07-15 10:28:42.673355929 -0400
++@@ -1926,26 +1926,6 @@
++ XtAppProcessEvent(awt_appContext, iMask & ~XtIMXEvent);
++ }
++
++- /*
++- ** Bug #4361799: Forte4J sometimes crashes on Solaris:
++- ** There is an underlying bug in Selection.c in Xt lib.
++- ** The routine HandleSelectionEvents, can call EndProtectedSection()
++- ** more than StartProtectedSection(), and then EndProtectedSection
++- ** will restore the default XError handler. As a result awt's
++- ** XError handler gets removed and we later crash on an XError.
++- **
++- ** This happens when we call XtAppProcessEvent with event type 1e
++- ** (SelectionRequest) when running two copies of Forte
++- **
++- ** XSetErrorHandler can safely be called repeatedly, so we are
++- ** fixing this with the sledgehammer, and resetting our XError
++- ** handler every time through the loop:
++- */
++- {
++- extern int32_t xerror_handler();
++- XSetErrorHandler(xerror_handler);
++- }
++-
++ } /* processOneEvent() */
++
++ /*
++diff -uNr 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 2010-07-15 10:28:21.882105738 -0400
+++++ openjdk/jdk/src/solaris/native/sun/xawt/XlibWrapper.c 2010-07-15 10:28:42.675169363 -0400
++@@ -1097,7 +1097,7 @@
++ static int ToolkitErrorHandler(Display * dpy, XErrorEvent * event) {
++ if (jvm != NULL) {
++ JNIEnv * env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
++- return JNU_CallStaticMethodByName(env, NULL, "sun/awt/X11/XToolkit", "GlobalErrorHandler", "(JJ)I",
+++ return JNU_CallStaticMethodByName(env, NULL, "sun/awt/X11/XToolkit", "globalErrorHandler", "(JJ)I",
++ ptr_to_jlong(dpy), ptr_to_jlong(event)).i;
++ } else {
++ return 0;
++@@ -1140,6 +1140,28 @@
++ return (*(XErrorHandler)jlong_to_ptr(handler))((Display*) jlong_to_ptr(display), (XErrorEvent*) jlong_to_ptr(event_ptr));
++ }
++
+++/*
+++ * Class: sun_awt_X11_XlibWrapper
+++ * Method: PrintXErrorEvent
+++ * Signature: (JJ)V
+++ */
+++JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_PrintXErrorEvent
+++(JNIEnv *env, jclass clazz, jlong display, jlong event_ptr)
+++{
+++ char msg[128];
+++ char buf[128];
+++
+++ XErrorEvent* err = (XErrorEvent *)jlong_to_ptr(event_ptr);
+++
+++ XGetErrorText((Display *)jlong_to_ptr(display), err->error_code, msg, sizeof(msg));
+++ jio_fprintf(stderr, "Xerror %s, XID %x, ser# %d\n", msg, err->resourceid, err->serial);
+++ jio_snprintf(buf, sizeof(buf), "%d", err->request_code);
+++ XGetErrorDatabaseText((Display *)jlong_to_ptr(display), "XRequest", buf, "Unknown", msg, sizeof(msg));
+++ jio_fprintf(stderr, "Major opcode %d (%s)\n", err->request_code, msg);
+++ if (err->request_code > 128) {
+++ jio_fprintf(stderr, "Minor opcode %d\n", err->minor_code);
+++ }
+++}
++
++
++ /*
++diff -uNr openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c
++--- openjdk.orig/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-07-15 10:28:21.883105599 -0400
+++++ openjdk/jdk/src/solaris/native/sun/xawt/XToolkit.c 2010-07-15 10:28:42.676355933 -0400
++@@ -581,7 +581,6 @@
++ pollFds[1].revents = 0;
++ }
++
++-
++ AWT_NOFLUSH_UNLOCK();
++
++ /* ACTUALLY DO THE POLL() */
++@@ -690,8 +689,6 @@
++ return ret;
++ }
++
++-static XErrorHandler saved_error_handler = NULL;
++-
++ #ifdef __linux__
++ void print_stack(void)
++ {
++@@ -712,38 +709,6 @@
++ }
++ #endif
++
++-static int NoisyXErrorHandler(Display * dpy, XErrorEvent * event) {
++- fprintf(stderr, "id=%x, serial=%x, ec=%d, rc=%d, mc=%d\n",
++- event->resourceid, event->serial, event->error_code,
++- event->request_code, event->minor_code);
++- /*
++- #ifdef __linux__
++- print_stack();
++- #endif
++- */
++- if (jvm != NULL) {
++- JNIEnv * env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
++- JNU_CallStaticMethodByName(env, NULL, "java/lang/Thread", "dumpStack", "()V");
++- }
++- if (!saved_error_handler) {
++- return saved_error_handler(dpy, event);
++- }
++- return 0;
++-}
++-
++-/*
++- * Class: sun_awt_X11_XToolkit
++- * Method: setNoisyXErrorHandler
++- * Signature: ()V
++- */
++-JNIEXPORT void JNICALL Java_sun_awt_X11_XToolkit_setNoisyXErrorHandler
++-(JNIEnv *env , jclass clazz)
++-{
++- (*env)->GetJavaVM(env, &jvm);
++- saved_error_handler = XSetErrorHandler(NoisyXErrorHandler);
++-}
++-
++-
++ Window get_xawt_root_shell(JNIEnv *env) {
++ static jclass classXRootWindow = NULL;
++ static jmethodID methodGetXRootWindow = NULL;
+diff -r d1ad52447673 patches/systemtap-gcc-4.5.patch
+--- /dev/null Thu Jan 01 00:00:00 1970 +0000
++++ b/patches/systemtap-gcc-4.5.patch Tue Jul 20 16:36:52 2010 +0200
@@ -0,0 +1,11 @@
+--- openjdk.orig/hotspot/src/share/vm/prims/jni.cpp 2010-04-28 08:51:29.000000000 +0100
++++ openjdk/hotspot/src/share/vm/prims/jni.cpp 2010-04-28 09:29:22.000000000 +0100
@@ -927,9 +2279,9 @@ diff -r a0120629678b patches/systemtap-gcc-4.5.patch
+ return NULL;
+ }
+ }
-diff -r a0120629678b plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
---- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
+--- a/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaJavaRequestProcessor.cc Tue Jul 20 16:36:52 2010 +0200
@@ -179,7 +179,7 @@
JavaRequestProcessor::JavaRequestProcessor()
@@ -994,9 +2346,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaJavaRequestProcessor.cc
std::string array_id = std::string();
std::string java_array_type = std::string();
-diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
---- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaNPPlugin.cc
+--- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Jul 20 16:36:52 2010 +0200
@@ -262,7 +262,7 @@
int16_t argc, char* argn[], char* argv[],
NPSavedData* saved)
@@ -1236,10 +2588,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
NPBool seekable, uint16_t* stype)
{
- PLUGIN_DEBUG_0ARG ("ITNP_NewStream\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_NewStream return\n");
+ PLUGIN_DEBUG ("ITNP_NewStream\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_NewStream return\n");
+ PLUGIN_DEBUG ("ITNP_NewStream return\n");
return NPERR_NO_ERROR;
@@ -1249,10 +2600,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNP_StreamAsFile (NPP instance, NPStream* stream, const char* filename)
{
- PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile return\n");
+ PLUGIN_DEBUG ("ITNP_StreamAsFile\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_StreamAsFile return\n");
+ PLUGIN_DEBUG ("ITNP_StreamAsFile return\n");
}
@@ -1260,10 +2610,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNP_DestroyStream (NPP instance, NPStream* stream, NPReason reason)
{
- PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream return\n");
+ PLUGIN_DEBUG ("ITNP_DestroyStream\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_DestroyStream return\n");
+ PLUGIN_DEBUG ("ITNP_DestroyStream return\n");
return NPERR_NO_ERROR;
@@ -1273,10 +2622,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNP_WriteReady (NPP instance, NPStream* stream)
{
- PLUGIN_DEBUG_0ARG ("ITNP_WriteReady\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_WriteReady return\n");
+ PLUGIN_DEBUG ("ITNP_WriteReady\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_WriteReady return\n");
+ PLUGIN_DEBUG ("ITNP_WriteReady return\n");
return 0;
@@ -1286,10 +2634,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
void* buffer)
{
- PLUGIN_DEBUG_0ARG ("ITNP_Write\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_Write return\n");
+ PLUGIN_DEBUG ("ITNP_Write\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_Write return\n");
+ PLUGIN_DEBUG ("ITNP_Write return\n");
return 0;
@@ -1299,10 +2646,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNP_Print (NPP instance, NPPrint* platformPrint)
{
- PLUGIN_DEBUG_0ARG ("ITNP_Print\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_Print return\n");
+ PLUGIN_DEBUG ("ITNP_Print\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_Print return\n");
+ PLUGIN_DEBUG ("ITNP_Print return\n");
}
@@ -1310,10 +2656,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNP_HandleEvent (NPP instance, void* event)
{
- PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent return\n");
+ PLUGIN_DEBUG ("ITNP_HandleEvent\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_HandleEvent return\n");
+ PLUGIN_DEBUG ("ITNP_HandleEvent return\n");
return 0;
@@ -1323,10 +2668,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
void* notifyData)
{
- PLUGIN_DEBUG_0ARG ("ITNP_URLNotify\n");
--
-- PLUGIN_DEBUG_0ARG ("ITNP_URLNotify return\n");
+ PLUGIN_DEBUG ("ITNP_URLNotify\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("ITNP_URLNotify return\n");
+ PLUGIN_DEBUG ("ITNP_URLNotify return\n");
}
@@ -1363,10 +2707,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
cleanup_done:
- PLUGIN_DEBUG_0ARG ("plugin_get_documentbase return\n");
--
-- PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy);
+ PLUGIN_DEBUG ("plugin_get_documentbase return\n");
-+
+
+- PLUGIN_DEBUG_1ARG("plugin_get_documentbase returning: %s\n", documentbase_copy);
+ PLUGIN_DEBUG("plugin_get_documentbase returning: %s\n", documentbase_copy);
return documentbase_copy;
}
@@ -1387,8 +2730,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
- std::string script_str = std::string();
- NPVariant* location = new NPVariant();
- std::string location_str = std::string();
--
- browser_functions.getvalue(instance, NPNVWindowNPObject, &window);
++ browser_functions.getvalue(instance, NPNVWindowNPObject, &window);
+
+- browser_functions.getvalue(instance, NPNVWindowNPObject, &window);
- script_str += "window.location.href";
-#if MOZILLA_VERSION_COLLAPSED < 1090200
- script.utf8characters = script_str.c_str();
@@ -1398,7 +2742,6 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
- script.UTF8Length = script_str.size();
-#endif
- browser_functions.evaluate(instance, window, &script, location);
-+
+ NPVariant location;
+ NPIdentifier location_id = browser_functions.getstringidentifier("location");
+ browser_functions.getproperty(instance, window, location_id, &location);
@@ -1578,10 +2921,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
ITNPPluginData* data = (ITNPPluginData*) plugin_data;
- PLUGIN_DEBUG_0ARG ("plugin_out_pipe_callback: appletviewer has stopped.\n");
--
-- PLUGIN_DEBUG_0ARG ("plugin_out_pipe_callback return\n");
+ PLUGIN_DEBUG ("plugin_out_pipe_callback: appletviewer has stopped.\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("plugin_out_pipe_callback return\n");
+ PLUGIN_DEBUG ("plugin_out_pipe_callback return\n");
return FALSE;
@@ -1758,10 +3100,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
plugin_instance_mutex = g_mutex_new ();
- PLUGIN_DEBUG_1ARG ("NP_Initialize: using %s\n", appletviewer_executable);
--
-- PLUGIN_DEBUG_0ARG ("NP_Initialize return\n");
+ PLUGIN_DEBUG ("NP_Initialize: using %s\n", appletviewer_executable);
-+
+
+- PLUGIN_DEBUG_0ARG ("NP_Initialize return\n");
+ PLUGIN_DEBUG ("NP_Initialize return\n");
plugin_req_proc = new PluginRequestProcessor();
@@ -1771,10 +3112,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
NP_GetMIMEDescription ()
{
- PLUGIN_DEBUG_0ARG ("NP_GetMIMEDescription\n");
--
-- PLUGIN_DEBUG_0ARG ("NP_GetMIMEDescription return\n");
+ PLUGIN_DEBUG ("NP_GetMIMEDescription\n");
-+
+
+- PLUGIN_DEBUG_0ARG ("NP_GetMIMEDescription return\n");
+ PLUGIN_DEBUG ("NP_GetMIMEDescription return\n");
return (char*) PLUGIN_MIME_DESC;
@@ -1862,9 +3202,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaNPPlugin.cc
+ PLUGIN_DEBUG("Allocating new scriptable object\n");
return new IcedTeaScriptablePluginObject(npp);
}
-diff -r a0120629678b plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
---- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
+--- a/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaPluginRequestProcessor.cc Tue Jul 20 16:36:52 2010 +0200
@@ -73,7 +73,7 @@
PluginRequestProcessor::~PluginRequestProcessor()
@@ -2033,9 +3373,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaPluginRequestProcessor.cc
+ PLUGIN_DEBUG("_getString returning\n");
}
-diff -r a0120629678b plugin/icedteanp/IcedTeaPluginUtils.cc
---- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaPluginUtils.cc
+--- a/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Tue Jul 20 16:36:52 2010 +0200
@@ -157,7 +157,7 @@
result->append(id_str);
@@ -2401,9 +3741,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaPluginUtils.cc
- PLUGIN_DEBUG_1ARG("%p unlocked...\n", &msg_queue_mutex);
+ PLUGIN_DEBUG("%p unlocked...\n", &msg_queue_mutex);
}
-diff -r a0120629678b plugin/icedteanp/IcedTeaPluginUtils.h
---- a/plugin/icedteanp/IcedTeaPluginUtils.h Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaPluginUtils.h
+--- a/plugin/icedteanp/IcedTeaPluginUtils.h Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaPluginUtils.h Tue Jul 20 16:36:52 2010 +0200
@@ -66,64 +66,14 @@
#include "IcedTeaNPPlugin.h"
@@ -2488,9 +3828,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaPluginUtils.h
*c - '0')
#define IS_VALID_HEX(c) \
-diff -r a0120629678b plugin/icedteanp/IcedTeaScriptablePluginObject.cc
---- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/IcedTeaScriptablePluginObject.cc
+--- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Tue Jul 20 16:36:52 2010 +0200
@@ -135,7 +135,7 @@
NPObject*
allocate_scriptable_jp_object(NPP npp, NPClass *aClass)
@@ -2744,9 +4084,9 @@ diff -r a0120629678b plugin/icedteanp/IcedTeaScriptablePluginObject.cc
+ PLUGIN_DEBUG("IcedTeaScriptableJavaObject::construct returning.\n");
return true;
}
-diff -r a0120629678b plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java
+diff -r d1ad52447673 plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Fri Jul 16 14:30:37 2010 +0200
++++ b/plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java Tue Jul 20 16:36:52 2010 +0200
@@ -0,0 +1,52 @@
+/* ForbiddenTargetException.java
+ Copyright (C) 2010 Red Hat
@@ -2800,9 +4140,9 @@ diff -r a0120629678b plugin/icedteanp/java/netscape/security/ForbiddenTargetExce
+ }
+
+}
-diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
---- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
+--- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Jul 20 16:36:52 2010 +0200
@@ -1,4 +1,4 @@
-/* VoidPluginCallRequest -- represent Java-to-JavaScript requests
+/* PluginAppletViewer -- Handles embedding of the applet panel
@@ -2860,9 +4200,9 @@ diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginAppletViewer.java
if (countApplets() == 0) {
appletSystemExit();
}
-diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java
---- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java
+--- a/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java Tue Jul 20 16:36:52 2010 +0200
@@ -61,6 +61,7 @@
PluginStreamHandler streamHandler = null;
AppletSecurity as;
@@ -2930,9 +4270,9 @@ diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java
+ }
+ }
}
-diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java
---- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java
+--- a/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Wed Apr 14 12:21:30 2010 +0200
++++ b/plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java Tue Jul 20 16:36:52 2010 +0200
@@ -72,7 +72,7 @@
if (message != null) {
@@ -2960,9 +4300,9 @@ diff -r a0120629678b plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker
+ return "Worker #" + this.id + "/IsPriority=" + this.isPriorityWorker + "/IsFree=" + this.free + "/Message=" + message;
+ }
}
-diff -r a0120629678b ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp
---- a/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Wed Apr 14 12:21:03 2010 +0200
-+++ b/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp
+--- a/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Wed Apr 14 12:21:30 2010 +0200
++++ b/ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp Tue Jul 20 16:36:52 2010 +0200
@@ -98,7 +98,8 @@
if (is_static()) {
builder()->CreateStore(
@@ -2973,9 +4313,23 @@ diff -r a0120629678b ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp
oop_tmp_slot());
param_types.push_back(box_type);
-diff -r a0120629678b ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
---- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Apr 14 12:21:03 2010 +0200
-+++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Fri Jul 16 14:30:37 2010 +0200
+@@ -326,11 +327,11 @@
+ needs_cast = true;
+ break;
+
+- case T_BYTE:
++ case T_CHAR:
+ needs_cast = true;
+ break;
+
+- case T_CHAR:
++ case T_BYTE:
+ case T_SHORT:
+ needs_cast = true;
+ is_signed = true;
+diff -r d1ad52447673 ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+--- a/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Wed Apr 14 12:21:30 2010 +0200
++++ b/ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp Tue Jul 20 16:36:52 2010 +0200
@@ -691,12 +691,6 @@
SharkValue *index = pop();
SharkValue *array = pop();
@@ -3062,9 +4416,9 @@ diff -r a0120629678b ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
return NULL;
}
-diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
---- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java
+--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Wed Apr 14 12:21:30 2010 +0200
++++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioDataLine.java Tue Jul 20 16:36:52 2010 +0200
@@ -86,7 +86,7 @@
protected void open(AudioFormat format, int bufferSize)
throws LineUnavailableException {
@@ -3157,9 +4511,9 @@ diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseA
Operation o;
synchronized (eventLoop.threadLock) {
-diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java
---- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java
+--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Wed Apr 14 12:21:30 2010 +0200
++++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioLine.java Tue Jul 20 16:36:52 2010 +0200
@@ -62,7 +62,7 @@
@Override
@@ -3187,9 +4541,9 @@ diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseA
return new Control[] {};
}
-diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
---- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java
+--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Wed Apr 14 12:21:30 2010 +0200
++++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioSourceDataLine.java Tue Jul 20 16:36:52 2010 +0200
@@ -142,8 +142,9 @@
writeInterrupted = false;
}
@@ -3270,9 +4624,9 @@ diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseA
}
writeInterrupted = true;
-diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
---- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Wed Apr 14 12:21:03 2010 +0200
-+++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java
+--- a/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Wed Apr 14 12:21:30 2010 +0200
++++ b/pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseAudioTargetDataLine.java Tue Jul 20 16:36:52 2010 +0200
@@ -76,15 +76,19 @@
@Override
@@ -3416,9 +4770,9 @@ diff -r a0120629678b pulseaudio/src/java/org/classpath/icedtea/pulseaudio/PulseA
}
synchronized (eventLoop.threadLock) {
-diff -r a0120629678b tapset/hotspot.stp.in
---- a/tapset/hotspot.stp.in Wed Apr 14 12:21:03 2010 +0200
-+++ b/tapset/hotspot.stp.in Fri Jul 16 14:30:37 2010 +0200
+diff -r d1ad52447673 tapset/hotspot.stp.in
+--- a/tapset/hotspot.stp.in Wed Apr 14 12:21:30 2010 +0200
++++ b/tapset/hotspot.stp.in Tue Jul 20 16:36:52 2010 +0200
@@ -120,7 +120,7 @@
name = "object_alloc";
thread_id = $arg1;
diff --git a/recipes/openjdk/openjdk-6_6b18-1.8.bb b/recipes/openjdk/openjdk-6_6b18-1.8.bb
index ac7d757e0a..4dfb16ada5 100644
--- a/recipes/openjdk/openjdk-6_6b18-1.8.bb
+++ b/recipes/openjdk/openjdk-6_6b18-1.8.bb
@@ -1,3 +1,3 @@
require openjdk-6-release-6b18.inc
-PR = "${INC_PR}.5"
+PR = "${INC_PR}.6"