diff options
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/openjdk/openjdk-6-6b18-1.8/icedtea1.8-pre1.8.1-releasebranch-fixes.patch | 1610 | ||||
-rw-r--r-- | recipes/openjdk/openjdk-6_6b18-1.8.bb | 2 |
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" |