mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
mem leaks: clear CWindow...: cleanup JdkCombobox heavy popup rootPane: 2
This commit is contained in:
@@ -72,10 +72,10 @@ import javax.swing.plaf.synth.SynthStyle;
|
||||
import javax.swing.plaf.synth.SynthStyleFactory;
|
||||
import javax.swing.text.DefaultEditorKit;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ComponentAdapter;
|
||||
import java.awt.event.ComponentEvent;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
@@ -888,10 +888,11 @@ public final class LafManagerImpl extends LafManager implements ApplicationCompo
|
||||
if (window instanceof RootPaneContainer && window != UIUtil.getWindow(owner) &&
|
||||
((RootPaneContainer)window).getRootPane().getClientProperty(cleanupKey) == null) {
|
||||
((RootPaneContainer)window).getRootPane().putClientProperty(cleanupKey, cleanupKey);
|
||||
window.addWindowListener(new WindowAdapter() {
|
||||
window.addComponentListener(new ComponentAdapter() {
|
||||
@Override
|
||||
public void windowClosed(WindowEvent e) {
|
||||
window.removeWindowListener(this);
|
||||
public void componentHidden(ComponentEvent e) {
|
||||
window.removeComponentListener(this);
|
||||
((RootPaneContainer)window).getRootPane().putClientProperty(cleanupKey, null);
|
||||
DialogWrapper.cleanupRootPane(((RootPaneContainer)window).getRootPane());
|
||||
DialogWrapper.cleanupWindowListeners(window);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user