src/macosx/classes/com/apple/laf/ScreenPopupFactory.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2011, 2012, Oracle and/or its affiliates. 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. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 2011, 2014, Oracle and/or its affiliates. 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. Oracle designates this
*** 26,36 ****
--- 26,38 ----
package com.apple.laf;
import java.awt.*;
import javax.swing.*;
+ import sun.awt.EmbeddedFrame;
import sun.lwawt.macosx.CPlatformWindow;
+ import sun.swing.SwingAccessor;
class ScreenPopupFactory extends PopupFactory {
static {
java.security.AccessController.doPrivileged(
new java.security.PrivilegedAction<Void>() {
*** 74,83 ****
--- 76,89 ----
popup = _getHeavyWeightPopup(comp, invoker, x, y);
} else {
popup = super.getPopup(comp, invoker, x, y);
}
+ if (EmbeddedFrame.getAppletIfAncestorOf(comp) != null) {
+ SwingAccessor.getPopupFactoryAccessor().setHeavyWeightPopupCacheEnabled(popup, false);
+ }
+
// Make the popup semi-translucent if it is a heavy weight
// see <rdar://problem/3547670> JPopupMenus have incorrect background
final Window w = getWindow(invoker);
if (w == null) return popup;