Ignore:
Timestamp:
10.02.2010 15:23:17 (2 years ago)
Author:
Gubaer
Message:

fixed #4392: exception in version history dialog on re-downloading a changed element

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/HistoryDialog.java

    r2928 r2961  
    4343import org.openstreetmap.josm.gui.OsmPrimitivRenderer; 
    4444import org.openstreetmap.josm.gui.SideButton; 
     45import org.openstreetmap.josm.gui.help.HelpUtil; 
    4546import org.openstreetmap.josm.gui.history.HistoryBrowserDialogManager; 
    4647import org.openstreetmap.josm.gui.history.HistoryLoadTask; 
     
    7172        build(); 
    7273        DataSet.selListeners.add(model); 
     74 
     75        HelpUtil.setHelpContext(this, HelpUtil.ht("/Dialog/HistoryDialog")); 
    7376    } 
    7477 
     
    146149    } 
    147150 
     151    /* ----------------------------------------------------------------------------- */ 
     152    /* interface HistoryDataSetListener                                              */ 
     153    /* ----------------------------------------------------------------------------- */ 
    148154    public void historyUpdated(HistoryDataSet source, PrimitiveId primitiveId) { 
     155        model.refresh(); 
     156    } 
     157 
     158    public void historyDataSetCleared(HistoryDataSet source) { 
    149159        model.refresh(); 
    150160    } 
     
    317327        protected List<OsmPrimitive> filterPrimitivesWithUnloadedHistory(Collection<OsmPrimitive> primitives) { 
    318328            ArrayList<OsmPrimitive> ret = new ArrayList<OsmPrimitive>(primitives.size()); 
     329            HistoryDataSet hds = HistoryDataSet.getInstance(); 
    319330            for (OsmPrimitive p: primitives) { 
    320                 if (HistoryDataSet.getInstance().getHistory(p.getPrimitiveId()) == null) { 
     331                if (hds.getHistory(p.getPrimitiveId()) == null) { 
     332                    // reload if the history is not in the cache yet 
     333                    ret.add(p); 
     334                } else if (!p.isNew() && hds.getHistory(p.getPrimitiveId()).getByVersion(p.getUniqueId()) == null) { 
     335                    // reload if the history object of the selected object is not in the cache 
     336                    // yet 
    321337                    ret.add(p); 
    322338                } 
Note: See TracChangeset for help on using the changeset viewer.