Revision 6507

View differences:

org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/AbstractTiledBand.java
9 9
import org.gvsig.raster.lib.buffer.api.BufferLocator;
10 10
import org.gvsig.raster.lib.buffer.api.NoData;
11 11
import org.gvsig.raster.lib.buffer.impl.exceptions.CopyFromBandException;
12
import org.gvsig.tools.dispose.DisposeUtils;
12 13
import org.gvsig.tools.exception.BaseException;
13 14

  
14 15

  
......
83 84
        firstRowOfTile = currentTileRow * rowsPerTile;
84 85
        int currentTileColumn = column / columnsPerTile; //Divisi?n entera
85 86
        firstColumnOfTile = currentTileColumn * columnsPerTile;
87
        Band loadedBand = null;
86 88
        try {
87 89
            rowsInTile = rowsPerTile;
88 90
            if(firstRowOfTile + rowsPerTile > this.rows){
......
92 94
            if(firstColumnOfTile + columnsPerTile > this.columns){
93 95
                columnsInTile = this.columns - firstColumnOfTile;
94 96
            }
95
            Band loadedBand = this.tileManager.load(firstRowOfTile,
97
            loadedBand = this.tileManager.load(firstRowOfTile,
96 98
                firstColumnOfTile,
97 99
                this.getDataType());
98

  
99

  
100 100
            Object rowBuffer = loadedBand.createRowBuffer();
101 101
            for(int loadedRow=0; loadedRow<loadedBand.getRows(); loadedRow++){
102 102
                loadedBand.fetchRow(loadedRow, rowBuffer);
......
104 104
                System.arraycopy(rowBuffer, 0, data.array(), pos, loadedBand.getColumns());
105 105
            }
106 106
            loaded=true;
107

  
107 108
        } catch (IOException e) {
108 109
            throw new RuntimeException("Can't load current tile", e);
110
        } finally {
111
            DisposeUtils.dispose(loadedBand);
109 112
        }
110 113
    }
111 114

  

Also available in: Unified diff