GT-2830 - Help - fixed NPE when navigating help UI

This commit is contained in:
dragonmacher 2019-04-23 14:30:18 -04:00
parent 70bc692900
commit 05472d1222

View File

@ -18,6 +18,7 @@ package docking.help;
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.beans.PropertyChangeListener;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Hashtable;
@ -73,6 +74,8 @@ public class CustomFavoritesView extends FavoritesView {
class CustomFavoritesNavigatorUI extends BasicFavoritesNavigatorUI {
private PropertyChangeListener titleListener;
CustomFavoritesNavigatorUI(JHelpFavoritesNavigator b) {
super(b);
}
@ -94,7 +97,7 @@ public class CustomFavoritesView extends FavoritesView {
// Note: add a listener to fix the bug described in 'idChanged()' below
HelpModel model = favorites.getModel();
model.addPropertyChangeListener(e -> {
titleListener = e -> {
if (lastIdEvent == null) {
return;
@ -109,7 +112,20 @@ public class CustomFavoritesView extends FavoritesView {
if (!currentTitle.equals(lastTitle)) {
resendNewEventWithFixedTitle(lastIdEvent, currentTitle);
}
});
};
model.addPropertyChangeListener(titleListener);
}
@Override
public void uninstallUI(JComponent c) {
HelpModel model = favorites.getModel();
if (model != null) {
model.removePropertyChangeListener(titleListener);
}
super.uninstallUI(c);
}
private void resendNewEventWithFixedTitle(HelpModelEvent originalEvent, String title) {