Ticket #18680: 18680.patch

File 18680.patch, 1.9 KB (added by GerdP, 5 years ago)
  • src/org/openstreetmap/josm/gui/history/HistoryBrowser.java

     
    55
    66import java.awt.BorderLayout;
    77import java.awt.Dimension;
     8import java.util.Arrays;
    89
    910import javax.swing.JPanel;
    1011import javax.swing.JScrollPane;
     
    151152
    152153    @Override
    153154    public void destroy() {
    154         model.unlinkAsListener();
    155         for (Destroyable component : new Destroyable[] {
    156                 tagInfoViewer, nodeListViewer, relationMemberListViewer, coordinateInfoViewer}) {
    157             component.destroy();
     155        if (model != null) {
     156            model.unlinkAsListener();
     157            model = null;
    158158        }
     159        Arrays.asList(tagInfoViewer, nodeListViewer, relationMemberListViewer, coordinateInfoViewer).stream()
     160                .filter(Destroyable.class::isInstance).forEach(Destroyable::destroy);
     161        tagInfoViewer = null;
     162        nodeListViewer = null;
     163        relationMemberListViewer = null;
     164        coordinateInfoViewer = null;
    159165    }
    160166}
  • src/org/openstreetmap/josm/gui/history/VersionTable.java

     
    254254
    255255        @Override
    256256        public void destroy() {
    257             if (changesetInfoAction != null)
     257            if (changesetInfoAction != null) {
    258258                changesetInfoAction.destroy();
    259             if (userInfoAction != null)
     259                changesetInfoAction = null;
     260            }
     261            if (userInfoAction != null) {
    260262                userInfoAction.destroy();
     263                userInfoAction = null;
     264            }
    261265        }
    262266    }
    263267