diff --git a/src/share/classes/javax/swing/PopupFactory.java b/src/share/classes/javax/swing/PopupFactory.java index 13a1f9d1a687d2925a96f31a00684367f94f3158..713ada71558c6ce56ff298fd2fbcec2218354815 100644 --- a/src/share/classes/javax/swing/PopupFactory.java +++ b/src/share/classes/javax/swing/PopupFactory.java @@ -203,6 +203,12 @@ public class PopupFactory { popupType = HEAVY_WEIGHT_POPUP; break; } + } else if (c instanceof Window) { + Window w = (Window) c; + if (!w.isOpaque() || w.getOpacity() < 1 || w.getShape() != null) { + popupType = HEAVY_WEIGHT_POPUP; + break; + } } c = c.getParent(); }