Ticket #17517: 17517.patch

File 17517.patch, 3.2 KB (added by GerdP, 7 years ago)
  • src/org/openstreetmap/josm/actions/ChangesetManagerToggleAction.java

     
    4545            ChangesetCacheManager.getInstance().addWindowListener(changesetCacheManagerClosedHandler);
    4646            ChangesetCacheManager.getInstance().setVisible(true);
    4747        } else {
    48             ChangesetCacheManager.getInstance().removeWindowListener(changesetCacheManagerClosedHandler);
    4948            ChangesetCacheManager.destroyInstance();
    5049        }
    5150    }
     
    5554        public void windowClosed(WindowEvent e) {
    5655            setSelected(false);
    5756            notifySelectedState();
    58             ChangesetCacheManager.getInstance().removeWindowListener(changesetCacheManagerClosedHandler);
    5957        }
    6058    }
    6159}
  • src/org/openstreetmap/josm/gui/dialogs/ChangesetDialog.java

     
    484484            ChangesetCacheManager cm = ChangesetCacheManager.getInstance();
    485485            if (cm.isVisible()) {
    486486                cm.setExtendedState(Frame.NORMAL);
    487                 cm.toFront();
    488                 cm.requestFocus();
    489487            } else {
    490488                cm.setVisible(true);
    491                 cm.toFront();
    492                 cm.requestFocus();
    493489            }
     490            cm.toFront();
    494491            cm.setSelectedChangesetsById(toSelect);
    495492        }
    496493
  • src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetCacheManager.java

     
    6464import org.openstreetmap.josm.io.ChangesetQuery;
    6565import org.openstreetmap.josm.io.NetworkManager;
    6666import org.openstreetmap.josm.io.OnlineResource;
    67 import org.openstreetmap.josm.tools.Destroyable;
    6867import org.openstreetmap.josm.tools.ImageProvider;
    6968import org.openstreetmap.josm.tools.InputMapUtils;
    7069import org.openstreetmap.josm.tools.Logging;
     
    103102    public static void destroyInstance() {
    104103        if (instance != null) {
    105104            instance.setVisible(false);
     105            GuiHelper.destroyComponents(instance, false);
    106106            instance.dispose();
    107             for (Component c : instance.pnlChangesetDetailTabs.getComponents()) {
    108                 if (c instanceof Destroyable) {
    109                     ((Destroyable) c).destroy();
    110                 }
    111             }
    112107            instance = null;
    113108        }
    114109    }
     
    351346    class WindowEventHandler extends WindowAdapter {
    352347        @Override
    353348        public void windowClosing(WindowEvent e) {
    354             new CancelAction().cancelAndClose();
     349            destroyInstance();
    355350        }
    356351
    357352        @Override