memory leak

This commit is contained in:
Vassiliy.Kudryashov
2015-03-27 23:10:59 +03:00
parent 0c2cc88110
commit c5a36e5f7d
@@ -86,6 +86,7 @@ public class IdeFrameImpl extends JFrame implements IdeFrameEx, DataProvider {
private IdeRootPane myRootPane;
private final BalloonLayout myBalloonLayout;
private IdeFrameDecorator myFrameDecorator;
private PropertyChangeListener myWindowsBorderUpdater = null;
private boolean myRestoreFullScreen;
public IdeFrameImpl(ApplicationInfoEx applicationInfoEx,
@@ -127,13 +128,15 @@ public class IdeFrameImpl extends JFrame implements IdeFrameEx, DataProvider {
updateBorder();
}
});
Toolkit.getDefaultToolkit().addPropertyChangeListener("win.xpstyle.themeActive", new PropertyChangeListener() {
@Override
public void propertyChange(@NotNull PropertyChangeEvent evt) {
updateBorder();
}
});
if (SystemInfo.isWindows) {
myWindowsBorderUpdater = new PropertyChangeListener() {
@Override
public void propertyChange(@NotNull PropertyChangeEvent evt) {
updateBorder();
}
};
Toolkit.getDefaultToolkit().addPropertyChangeListener("win.xpstyle.themeActive", myWindowsBorderUpdater);
}
IdeMenuBar.installAppMenuIfNeeded(this);
@@ -472,6 +475,9 @@ public class IdeFrameImpl extends JFrame implements IdeFrameEx, DataProvider {
Disposer.dispose(myFrameDecorator);
myFrameDecorator = null;
}
if (myWindowsBorderUpdater != null) {
Toolkit.getDefaultToolkit().removePropertyChangeListener("win.xpstyle.themeActive", myWindowsBorderUpdater);
}
FocusTrackback.release(this);