Hi, I'm planing to NMU openjdk-6 with the attached patch to add an workaround for 508650 (needed because of 504524 and 504623 make to old workaround of specifying AWT_TOOLKIT=MToolkit impossible), unless I get a NACK from it maintainers (last try to contact them was 2008-12-19 with the same patch and intention to NMU expressed).
This patch only modifies behaviour when a new environment variable _JAVA_AWT_WM_NONREPARENTING is set, so should have hardly any chance for side effects. Could this get an freeze-exception in this form? (Assuming it can go via unstable[1]) Thanks in advance, Bernhard R. Link [1] from the build-dependencies only iceape-dev differs in unstable and that looks like a a security update and I do not find any library dependency in the resulting binary package caused by this build-dependency. (as icedtea packages are only built in experimental).
diff -r -u -N openjdk-6-6b11-9/debian/changelog openjdk-6-6b11/debian/changelog --- openjdk-6-6b11-9/debian/changelog 2008-12-19 11:36:50.000000000 +0100 +++ openjdk-6-6b11/debian/changelog 2008-12-19 11:39:54.000000000 +0100 @@ -1,3 +1,12 @@ +openjdk-6 (6b11-9.1) unstable; urgency=low + + * Non-maintainer upload. + * if _JAVA_AWT_WM_NONREPARENTING environment variable is set, + disable all workarounds causing blank windows in non-reparentizing + window managers... + + -- Bernhard R. Link <brl...@debian.org> Sat, 13 Dec 2008 15:39:37 +0100 + openjdk-6 (6b11-9) unstable; urgency=low * Don't use our version of uname on 64bit archs. diff -r -u -N openjdk-6-6b11-9/debian/patches/nonreparenting-wm.diff openjdk-6-6b11/debian/patches/nonreparenting-wm.diff --- openjdk-6-6b11-9/debian/patches/nonreparenting-wm.diff 1970-01-01 01:00:00.000000000 +0100 +++ openjdk-6-6b11/debian/patches/nonreparenting-wm.diff 2008-12-19 11:37:23.000000000 +0100 @@ -0,0 +1,66 @@ +diff --git a/jdk/src/solaris/classes/sun/awt/X11/XWM.java b/jdk/src/solaris/classes/sun/awt/X11/XWM.java +index 68d1ff7..878327e 100644 +--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java ++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java +@@ -98,11 +98,14 @@ class XWM implements MWMConstants, XUtilConstants { + ICE_WM = 10, + METACITY_WM = 11, + COMPIZ_WM = 12, +- LG3D_WM = 13; ++ LG3D_WM = 13, ++ OTHER_NONREPARENTING_WM = 14; + public String toString() { + switch (WMID) { + case NO_WM: + return "NO WM"; ++ case OTHER_NONREPARENTING_WM: ++ return "Other non-reparenting WM"; + case OTHER_WM: + return "Other WM"; + case OPENLOOK_WM: +@@ -564,7 +567,7 @@ class XWM implements MWMConstants, XUtilConstants { + } + + static boolean isNonReparentingWM() { +- return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM); ++ return (XWM.getWMID() == XWM.COMPIZ_WM || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM); + } + + /* +@@ -764,9 +767,17 @@ class XWM implements MWMConstants, XUtilConstants { + * supports WIN or _NET wm spec. + */ + else if (l_net_protocol.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } else if (win.active()) { +- awt_wmgr = XWM.OTHER_WM; ++ if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; ++ } else { ++ awt_wmgr = XWM.OTHER_WM; ++ } + } + /* + * Check for legacy WMs. +@@ -777,6 +788,8 @@ class XWM implements MWMConstants, XUtilConstants { + awt_wmgr = XWM.MOTIF_WM; + } else if (isOpenLook()) { + awt_wmgr = XWM.OPENLOOK_WM; ++ } else if (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) { ++ awt_wmgr = XWM.OTHER_NONREPARENTING_WM; + } else { + awt_wmgr = XWM.OTHER_WM; + } +@@ -1298,6 +1311,7 @@ class XWM implements MWMConstants, XUtilConstants { + res = new Insets(28, 6, 6, 6); + break; + case NO_WM: ++ case OTHER_NONREPARENTING_WM: + case LG3D_WM: + res = zeroInsets; + break; diff -r -u -N openjdk-6-6b11-9/debian/rules openjdk-6-6b11/debian/rules --- openjdk-6-6b11-9/debian/rules 2008-12-19 11:36:50.000000000 +0100 +++ openjdk-6-6b11/debian/rules 2008-12-19 11:37:23.000000000 +0100 @@ -116,6 +116,7 @@ debian/patches/fontconfig-$(if $(with_wgy_zenhai),wqy-zenhei,arphic-uming).diff \ debian/patches/no-compiler-path.diff \ debian/patches/fix-race-cond-print.diff \ + debian/patches/nonreparenting-wm.diff ifneq (,$(filter $(distrel),hardy gutsy feisty edgy dapper)) DISTRIBUTION_PATCHES += \