Ignore:
Timestamp:
13.03.2010 10:45:19 (2 years ago)
Author:
jttt
Message:

Different fix for #4728 - discard offscreen buffer for all layer in MapView

File:
1 edited

Legend:

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

    r3125 r3128  
    3939import org.openstreetmap.josm.data.Bounds; 
    4040import org.openstreetmap.josm.data.SelectionChangedListener; 
     41import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent; 
     42import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener; 
    4143import org.openstreetmap.josm.data.coor.LatLon; 
    4244import org.openstreetmap.josm.data.osm.DataSet; 
     
    6567 * @author imi 
    6668 */ 
    67 public class MapView extends NavigatableComponent implements PropertyChangeListener { 
     69public class MapView extends NavigatableComponent implements PropertyChangeListener, PreferenceChangedListener { 
    6870 
    6971    /** 
     
    183185    private final List<Layer> nonChangedLayers = new ArrayList<Layer>(); 
    184186    private int lastViewID; 
     187    private boolean paintPreferencesChanged = true; 
    185188 
    186189    public MapView() { 
     190        Main.pref.addPreferenceChangeListener(this); 
    187191        addComponentListener(new ComponentAdapter(){ 
    188192            @Override public void componentResized(ComponentEvent e) { 
     
    472476        } 
    473477 
    474         boolean canUseBuffer = nonChangedLayers.size() <= nonChangedLayersCount && lastViewID == getViewID(); 
     478        boolean canUseBuffer = !paintPreferencesChanged && nonChangedLayers.size() <= nonChangedLayersCount && lastViewID == getViewID(); 
    475479        if (canUseBuffer) { 
    476480            for (int i=0; i<nonChangedLayers.size(); i++) { 
     
    513517        } 
    514518        lastViewID = getViewID(); 
     519        paintPreferencesChanged = false; 
    515520 
    516521        tempG.drawImage(offscreenBuffer, 0, 0, null); 
     
    799804    } 
    800805 
     806    public void preferenceChanged(PreferenceChangeEvent e) { 
     807        paintPreferencesChanged = true; 
     808    } 
     809 
    801810} 
Note: See TracChangeset for help on using the changeset viewer.