--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java	2016-04-01 07:04:05.000000000 +0200
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWM.java	2016-04-10 13:49:06.513358648 +0200
@@ -104,7 +104,8 @@
         COMPIZ_WM = 12,
         LG3D_WM = 13,
         CWM_WM = 14,
-        MUTTER_WM = 15;
+        MUTTER_WM = 15,
+        OTHER_NONREPARENTING_WM = 16;
     public String toString() {
         switch  (WMID) {
           case NO_WM:
@@ -601,7 +602,8 @@
             awtWMNonReparenting = (XToolkit.getEnv("_JAVA_AWT_WM_NONREPARENTING") != null) ? 1 : 0;
         }
         return (awtWMNonReparenting == 1 || XWM.getWMID() == XWM.COMPIZ_WM
-                || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM);
+                || XWM.getWMID() == XWM.LG3D_WM || XWM.getWMID() == XWM.CWM_WM
+                || XWM.getWMID() == XWM.OTHER_NONREPARENTING_WM);
     }
 
     /*
@@ -796,9 +798,17 @@
              * 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.
@@ -809,6 +819,8 @@
                 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;
             }
@@ -1337,6 +1349,7 @@
                   res = new Insets(28, 6, 6, 6);
                   break;
               case NO_WM:
+              case OTHER_NONREPARENTING_WM:
               case LG3D_WM:
                   res = zeroInsets;
                   break;
