Revision 12502

View differences:

trunk/extensions/extRasterTools-SE/config/text.properties
1 1
#Translations for language [es]
2 2
#Mon Oct 30 09:38:21 CET 2006
3 3
activar=Activar
4
addband_error=Error al a?adir la banda
4 5
analysisview=Vista de analisis
5 6
ancho_alto=Ancho X Alto
6 7
archivo=Archivo
......
21 22
error_file_not_writable=No es posible crear el fichero de salida.
22 23
espere=Por favor, espere
23 24
extension_no_soportada=El formato seleccionado no est? soportado.
25
extensiones_soportadas_error=Error al obtener la lista de extensiones soportadas. No se puede exportar la capa
24 26
file=Archivo
25 27
filtro_de=Filtro de
26 28
formato=Formato
......
30 32
georref=Georreferenciado
31 33
green=Verde
32 34
height=Alto
35
histogram_error=Error calculando el histograma
33 36
increase=Zoom Cursor
34 37
incremento_recorte=Porcentaje del proceso
35 38
info=Info
......
41 44
mtspixel=Mts/pixel
42 45
nbandas=N?mero de Bandas
43 46
no=No
44
no_driver_escritura=No se puede obtener el driver de escritura
47
no_driver_escritura=No se puede obtener el driver de escritura. El raster no ha sido salvado.
45 48
onSharpening=Activar pansharpening
46 49
opacidad=Opacidad
47 50
previsualizacion=Previsualizaci\u00f3n
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/saveas/SaveAsTocMenuEntry.java
46 46
import org.gvsig.rastertools.cutting.WriterBufferServer;
47 47

  
48 48
import com.iver.andami.PluginServices;
49
import com.iver.andami.messages.NotificationManager;
49 50
import com.iver.andami.ui.mdiManager.IWindow;
50 51
import com.iver.cit.gvsig.fmap.layers.FLayer;
51 52
import com.iver.cit.gvsig.project.documents.view.gui.View;
......
151 152
		try {
152 153
			extList = GeoRasterWriter.getExtensionsSupported(((IRasterGeoOperations)fLayer).getDataType()[0], ((IRasterGeoOperations)fLayer).getBandCount());
153 154
		} catch (RasterDriverException e2) {
154
			e2.printStackTrace();
155
			RasterToolsUtil.messageBoxError("extensiones_soportadas_error", chooser);
156
			NotificationManager.addError("Error al obtener la lista de extensiones soportadas. No se puede exportar la capa", e2);
155 157
		}
156 158
        for(int i = 0; i < extList.size(); i++)
157 159
        	chooser.addChoosableFileFilter(new WriterFilter((String)extList.get(i)));
......
180 182
				try {
181 183
					params = GeoRasterWriter.getWriter(file).getParams();
182 184
				} catch (NotSupportedExtensionException e1) {
183
					e1.printStackTrace();
185
					RasterToolsUtil.messageBoxError("no_driver_escritura", this);
186
					NotificationManager.addError(PluginServices.getText(this, "no_driver_escritura"), e1);
184 187
				} catch (RasterDriverException e1) {
185
					e1.printStackTrace();
188
					RasterToolsUtil.messageBoxError("no_driver_escritura", this);
189
					NotificationManager.addError(PluginServices.getText(this, "no_driver_escritura"), e1);
186 190
				}
187 191
				
188 192
				//Lanzamiento del proceso de guardado
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/rasterresolution/ZoomPixelCursorListener.java
29 29
import javax.swing.ImageIcon;
30 30

  
31 31
import org.gvsig.fmap.raster.layers.FLyrRasterSE;
32
import org.gvsig.rastertools.RasterToolsUtil;
32 33

  
33 34
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
35
import com.iver.andami.messages.NotificationManager;
34 36
import com.iver.cit.gvsig.exceptions.expansionfile.ExpansionFileReadException;
35 37
import com.iver.cit.gvsig.fmap.MapControl;
36 38
import com.iver.cit.gvsig.fmap.ViewPort;
......
76 78
		try{
77 79
			ext = actives[0].getFullExtent();
78 80
		} catch (ReadDriverException e1) {
79
			e1.printStackTrace();
81
			NotificationManager.addError("Error al obtener el extent", e1);
80 82
		} catch (ExpansionFileReadException e) {
81
			e.printStackTrace();
83
			NotificationManager.addError("ExpansionFileReadException", e);
82 84
		}
83 85

  
84 86
    	ArrayList attr = ((FLyrRasterSE)actives[0]).getAttributes();
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/FilterProcess.java
39 39
import org.gvsig.rastertools.filter.FilterListener.ParamStruct;
40 40

  
41 41
import com.iver.andami.PluginServices;
42
import com.iver.andami.messages.NotificationManager;
42 43
/**
43 44
 * Clase donde se hara todo el proceso de aplicar un filtro a una capa. Muestra
44 45
 * una ventana de dialogo de incremento informativa.
......
47 48
 * @author BorSanZa - Borja S?nchez Zamorano (borja.sanchez@iver.es)
48 49
 */
49 50
public class FilterProcess implements Runnable, IIncrementable, IncrementableListener {
50
	private IncrementableTask		incrementableTask = null;
51
	private FilterListener			filterListener = null;
52
	private RasterFilterList		rasterFilterList = null;
53
	private String							filename = "";
54
	private volatile Thread			blinker = null;
55
	private MultiRasterDataset	rasterMultiDataset = null;
56
	private GeoRasterWriter 		grw = null;
57
	private boolean							cancel = false;
58
	private WriterBufferServer	writerBufferServer = null;
59
	private ArrayList						listFilterUsed = null;
51
	private IncrementableTask       incrementableTask = null;
52
	private FilterListener          filterListener = null;
53
	private RasterFilterList        rasterFilterList = null;
54
	private String                  filename = "";
55
	private volatile Thread         blinker = null;
56
	private MultiRasterDataset      rasterMultiDataset = null;
57
	private GeoRasterWriter         grw = null;
58
	private boolean                 cancel = false;
59
	private WriterBufferServer      writerBufferServer = null;
60
	private ArrayList               listFilterUsed = null;
60 61

  
61 62
	/**
62 63
	 * Construye un FilterProcess
......
120 121
			filterListener.loadLayerInToc(filename);
121 122
			//filterListener.loadLayerInToc(grid.getRasterBuf(), rasterMultiDataset.getExtent());
122 123
		} catch (NotSupportedExtensionException e) {
124
			NotificationManager.addError("Error al obtener el writer. Extensi?n no soportada", e);
123 125
		} catch (RasterDriverException e) {
126
			NotificationManager.addError("Error al obtener el writer", e);
124 127
		} catch (IOException e) {
128
			NotificationManager.addError("Error al escribir con GeoRasterWriter", e);
125 129
		} catch (InterruptedException e1) {
126
			//e1.printStackTrace();
130
			NotificationManager.addError("Proceso interrumpido", e1);
127 131
		} finally {
128 132
			if (incrementableTask != null)
129 133
				incrementableTask.processFinalize();
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/filter/FilterListener.java
26 26
import java.awt.geom.AffineTransform;
27 27
import java.awt.geom.Dimension2D;
28 28
import java.io.File;
29
import java.security.acl.NotOwnerException;
29 30
import java.util.ArrayList;
30 31
import java.util.EventObject;
31 32
import java.util.Hashtable;
......
60 61

  
61 62
import com.iver.andami.PluginServices;
62 63
import com.iver.andami.Utilities;
64
import com.iver.andami.messages.NotificationManager;
63 65
import com.iver.andami.ui.mdiManager.IWindow;
64 66
import com.iver.cit.gvsig.exceptions.layers.LoadLayerException;
65 67
import com.iver.cit.gvsig.fmap.ViewPort;
......
352 354
					if (obj.getName().equals(((RasterFilter) filtersInit.get(i)).getName()))
353 355
						break;
354 356
				} catch (InstantiationException e) {
355
					e.printStackTrace();
357
					NotificationManager.addError("Error instanciando un filtro de la lista", e);
356 358
				} catch (IllegalAccessException e) {
357
					e.printStackTrace();
359
					NotificationManager.addError("Error instanciando un filtro de la lista", e);
358 360
				}
359 361
			}
360 362

  
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/properties/panels/TranspByPixelRGBInputPanel.java
26 26
import org.gvsig.gui.beans.checkslidertext.CheckColorSliderTextContainer;
27 27
import org.gvsig.gui.beans.doubleslider.DoubleSliderEvent;
28 28
import org.gvsig.gui.beans.doubleslider.DoubleSliderListener;
29

  
30
import com.iver.andami.messages.NotificationManager;
29 31
/**
30 32
 * Panel con los 3 campos para introducir listas de valores RGB. Este gestiona
31 33
 * los eventos de FocusListener para validar que los valores que se introducen
......
276 278
			try {
277 279
				rangeRed = TranspByPixelRGBInputPanel.stringToInterval(getTRed().getValue() + "");
278 280
			} catch (IOException exc) {
279
				exc.printStackTrace();
281
				NotificationManager.addError("Error al parsear el intervalo", exc);
280 282
				getTRed().setChecked(false);
281 283
				validValue = false;
282 284
			}
......
286 288
			try {
287 289
				rangeGreen = TranspByPixelRGBInputPanel.stringToInterval(getTGreen().getValue() + "");
288 290
			} catch (IOException exc) {
289
				exc.printStackTrace();
291
				NotificationManager.addError("Error al parsear el intervalo", exc);
290 292
				getTGreen().setChecked(false);
291 293
				validValue = false;
292 294
			}
......
296 298
			try {
297 299
				rangeBlue = TranspByPixelRGBInputPanel.stringToInterval(getTBlue().getValue() + "");
298 300
			} catch (IOException exc) {
299
				exc.printStackTrace();
301
				NotificationManager.addError("Error al parsear el intervalo", exc);
300 302
				getTBlue().setChecked(false);
301 303
				validValue = false;
302 304
			}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/properties/control/BandSetupListener.java
37 37
import org.gvsig.raster.hierarchy.IRasterDataset;
38 38
import org.gvsig.raster.hierarchy.IRasterProperties;
39 39
import org.gvsig.rastertools.RasterModule;
40
import org.gvsig.rastertools.RasterToolsUtil;
40 41
import org.gvsig.rastertools.properties.panels.BandSetupPanel;
41 42

  
42 43
import com.hardcode.driverManager.DriverLoadException;
......
233 234
						dataset.getMultiRasterDataset().addDataset(geoRasterDataset);
234 235

  
235 236
					} catch (Exception exc) {
236
						exc.printStackTrace();
237
						RasterToolsUtil.messageBoxError("addband_error", bandSetupPanel);
238
						NotificationManager.addError(PluginServices.getText(this, "addband_error"), exc);
237 239
					}
238 240

  
239 241
					// Lo a?adimos a la capa
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/CuttingProcess.java
39 39
import org.gvsig.raster.dataset.Params;
40 40
import org.gvsig.raster.dataset.RasterDriverException;
41 41
import org.gvsig.raster.datastruct.Extent;
42
import org.gvsig.rastertools.RasterToolsUtil;
42 43

  
43 44
import com.iver.andami.PluginServices;
45
import com.iver.andami.messages.NotificationManager;
44 46
import com.iver.andami.ui.mdiManager.IWindow;
45 47
import com.iver.cit.gvsig.exceptions.layers.LoadLayerException;
46 48
import com.iver.cit.gvsig.fmap.layers.FLayer;
......
143 145
					bufferFactory.setAreaOfInterest(dValues[0], dValues[3], Math.abs(dValues[2] - dValues[0]), Math.abs(dValues[1] - dValues[3]), resolutionWidth, resolutionHeight);
144 146
					buffer = bufferFactory.getRasterBuf();
145 147
				} catch (InvalidSetViewException e) {
146
					e.printStackTrace();
148
					NotificationManager.addError("No se ha podido asignar la vista al inicial el proceso de recorte.", e);
147 149
				}
148 150
			}
149 151
			//TODO: FUNCIONALIDAD: Poner los gerWriter con la proyecci?n del fichero fuente
......
188 190
				}
189 191
			}
190 192
			d.close();
191
			//TODO: EXCEPCIONES: Eliminar printStackTRace
192 193
		} catch (NotSupportedExtensionException e) {
193
			e.printStackTrace();
194
			NotificationManager.addError("No se ha podido obtener el writer. Extensi?n no soportada", e);
194 195
		} catch (RasterDriverException e) {
195
			e.printStackTrace();
196
			NotificationManager.addError("No se ha podido obtener el writer.", e);
196 197
		} catch (IOException e) {
197
			e.printStackTrace();
198
			NotificationManager.addError("Error en la escritura en GeoRasterWriter.", e);
198 199
		}
199 200

  
200 201
		if (incrementableTask != null)
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/ui/listener/CuttingPanelListener.java
49 49
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
50 50
import com.iver.andami.PluginServices;
51 51
import com.iver.andami.Utilities;
52
import com.iver.andami.messages.NotificationManager;
52 53
import com.iver.cit.gvsig.exceptions.expansionfile.ExpansionFileReadException;
53 54
import com.iver.cit.gvsig.fmap.tools.BehaviorException;
54 55
import com.iver.cit.gvsig.fmap.tools.Events.RectangleEvent;
......
421 422
					PluginServices.getText(this, "coordenadas_erroneas"));
422 423
			return;
423 424
		} catch (ExpansionFileReadException e) {
424
			e.printStackTrace();
425
			NotificationManager.addError("Error dibujando", e);
425 426
		} catch (ReadDriverException e) {
426
			e.printStackTrace();
427
			NotificationManager.addError("Error dibujando", e);
427 428
		}
428 429

  
429 430
		// Obtenemos las coordenadas del recorte
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/ui/CuttingPanel.java
54 54

  
55 55
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
56 56
import com.iver.andami.PluginServices;
57
import com.iver.andami.messages.NotificationManager;
57 58
import com.iver.andami.ui.mdiManager.IWindow;
58 59
import com.iver.cit.gvsig.exceptions.expansionfile.ExpansionFileReadException;
59 60
import com.iver.cit.gvsig.fmap.MapControl;
......
228 229
					try {
229 230
						getTSelection().addRow(row);
230 231
					} catch (NotInitializeException e) {
231
						e.printStackTrace();
232
						NotificationManager.addError("Error a?adiendo fila a la tabla.", e);
232 233
					}
233 234
				}
234 235
			} else {
......
236 237
				try {
237 238
					getTSelection().addRow(row);
238 239
				} catch (NotInitializeException e) {
239
					e.printStackTrace();
240
					NotificationManager.addError("Error a?adiendo fila a la tabla.", e);
240 241
				}
241 242
			}
242 243
		}
......
245 246
		try {
246 247
			cuttingPanelListener.setExtent(fLayer.getFullExtent());
247 248
		} catch (ExpansionFileReadException e) {
248
			e.printStackTrace();
249
			NotificationManager.addError("Error obteniendo el extent.", e);
249 250
		} catch (ReadDriverException e) {
250
			e.printStackTrace();
251
			NotificationManager.addError("Error obteniendo el extent.", e);
251 252
		}
252 253

  
253 254
		// Definir el ancho y el alto de la vista en pixeles.
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/histogram/HistogramPanelListener.java
44 44
import org.gvsig.raster.datastruct.HistogramClass;
45 45
import org.gvsig.raster.datastruct.HistogramException;
46 46
import org.gvsig.raster.hierarchy.IHistogramable;
47
import org.gvsig.rastertools.RasterToolsUtil;
47 48
import org.gvsig.rastertools.histogram.ui.HistogramPanel;
48 49

  
49 50
import com.hardcode.driverManager.DriverLoadException;
......
54 55
import com.hardcode.gdbms.engine.values.Value;
55 56
import com.hardcode.gdbms.engine.values.ValueFactory;
56 57
import com.iver.andami.PluginServices;
58
import com.iver.andami.messages.NotificationManager;
57 59
import com.iver.cit.gvsig.ProjectExtension;
58 60
import com.iver.cit.gvsig.fmap.drivers.shp.DbaseFileHeaderNIO;
59 61
import com.iver.cit.gvsig.fmap.drivers.shp.DbaseFileWriterNIO;
......
281 283
			try {
282 284
				setNewHistogram(iaux.getHistogram());
283 285
			} catch (HistogramException e) {
284
				e.printStackTrace();
286
				RasterToolsUtil.messageBoxError("histogram_error", histogramPanel);
287
				NotificationManager.addError("Error calculando el histograma", e);
285 288
			}
286 289
			return;
287 290
		}
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/histogram/HistogramProcess.java
25 25
import org.gvsig.raster.datastruct.Histogram;
26 26
import org.gvsig.raster.datastruct.HistogramException;
27 27
import org.gvsig.raster.hierarchy.IHistogramable;
28
import org.gvsig.rastertools.RasterToolsUtil;
28 29

  
29 30
import com.iver.andami.PluginServices;
31
import com.iver.andami.messages.NotificationManager;
30 32
/**
31 33
 * Clase para calcular histogramas. Esta clase implementa IIncrementable para
32 34
 * poder ser usado con una ventana de incremento <code>IncrementableTask</code>
......
72 74
			// Ya tenemos el histograma y lo representamos en la ventana
73 75
			if (histogram != null) hpl.setNewHistogram(histogram);
74 76
		} catch (HistogramException e) {
75
			e.printStackTrace();
77
			NotificationManager.addError("Error calculando el histograma", e);
76 78
		}
77 79

  
78 80
		// Cerramos la ventana de incremento de manera correcta.
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/histogram/ui/HistogramPanel.java
45 45
import org.gvsig.rastertools.histogram.HistogramPanelListener;
46 46

  
47 47
import com.iver.andami.PluginServices;
48
import com.iver.andami.messages.NotificationManager;
48 49
/**
49 50
 * <code>HistogramPanel</code>. Interfaz de usuario para la representaci?n de
50 51
 * histogramas.
......
403 404
				list = null;
404 405
			}
405 406
		} catch (NotInitializeException e) {
406
			e.printStackTrace();
407
			NotificationManager.addError("Error al eliminar las filas de la tabla", e);
407 408
		}
408 409
	}
409 410

  
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/selectrasterlayer/SelectImageListener.java
27 27

  
28 28
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
29 29
import com.iver.andami.PluginServices;
30
import com.iver.andami.messages.NotificationManager;
30 31
import com.iver.cit.gvsig.exceptions.expansionfile.ExpansionFileReadException;
31 32
import com.iver.cit.gvsig.fmap.MapControl;
32 33
import com.iver.cit.gvsig.fmap.ViewPort;
......
97 98
			try {
98 99
				extentLayer = layer.getFullExtent();
99 100
			} catch(ReadDriverException exc) {
100
				exc.printStackTrace();
101
				NotificationManager.addError("Error al obtener el extent", exc);
101 102
			} catch (ExpansionFileReadException e) {
102
				e.printStackTrace();
103
				NotificationManager.addError("Error al obtener el extent", e);
103 104
			}
104 105
			if(	extentLayer.getMaxX() >= wcPoint.getX() &&
105 106
				extentLayer.getMinX() <= wcPoint.getX() &&
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/saveraster/operations/RasterizerLayer.java
23 23
import java.awt.Graphics2D;
24 24
import java.awt.geom.Rectangle2D;
25 25
import java.awt.image.BufferedImage;
26
import java.security.acl.NotOwnerException;
26 27

  
27 28
import org.gvsig.gui.beans.incrementabletask.IIncrementable;
28 29
import org.gvsig.raster.dataset.IBuffer;
......
30 31

  
31 32
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
32 33
import com.iver.andami.PluginServices;
34
import com.iver.andami.messages.NotificationManager;
33 35
import com.iver.cit.gvsig.fmap.ViewPort;
34 36
import com.iver.cit.gvsig.fmap.layers.FLayers;
35 37
import com.iver.cit.gvsig.fmap.layers.FLyrRaster;
......
180 182
				}
181 183

  
182 184
			} catch (ReadDriverException e) {
183
				e.printStackTrace();
185
				NotificationManager.addError("Error en el draw de capa", e);
184 186
			}
185 187
			rasterData = image.getRGB(0, 0, sX, sY, rasterData, 0, sX);
186 188

  
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/saveraster/operations/CopyDatasetThread.java
22 22

  
23 23
import org.gvsig.raster.dataset.io.GdalWriter;
24 24

  
25
import com.iver.andami.messages.NotificationManager;
25 26
import com.iver.cit.gvsig.fmap.ViewPort;
26 27

  
27 28
import es.gva.cit.jgdal.Gdal;
......
73 74
		try {
74 75
			GdalWriter.createCopy(driver, fDstName, fSrcName, false, driverProps, vp.getProjection());
75 76
		} catch (IOException ev) {
76
			ev.printStackTrace();
77
			NotificationManager.addError("Error al hacer la copia", ev);
77 78
		} catch (GdalException ev) {
78
			ev.printStackTrace();
79
			NotificationManager.addError("Error al hacer la copia", ev);
79 80
		}
80 81
//		runCopy = false;
81 82
	}
trunk/extensions/extRasterTools-SE/src/org/gvsig/fmap/raster/layers/FLyrRasterSE.java
274 274
							// g.setClip(tiles.getClip(tileNr).x, tiles.getClip(tileNr).y, tiles.getClip(tileNr).width - 5, tiles.getClip(tileNr).height);
275 275
							draw(image, g, vport, cancel);
276 276
						} catch (NoninvertibleTransformException e) {
277
							e.printStackTrace();
277
							NotificationManager.addError("Error en la transformaci?n", e);
278 278
						}
279 279
					}
280 280
				} else
......
294 294
						ViewPort vport = tiles.getTileViewPort(vp, tileNr);
295 295
						draw(image, g, vport, cancel);
296 296
					} catch (NoninvertibleTransformException e) {
297
						e.printStackTrace();
297
						NotificationManager.addError("Error en la transformaci?n", e);
298 298
					}
299 299
				}
300 300
			} else
......
591 591
					if (status != null)
592 592
						status.setXMLEntity(xml, this);
593 593
				} catch (ClassNotFoundException exc) {
594
					exc.printStackTrace();
594
					NotificationManager.addError("Error localizando la clase a instanciar. " + claseStr, exc);
595 595
				} catch (InstantiationException exc) {
596
					exc.printStackTrace();
596
					NotificationManager.addError("Error instanciando " + claseStr, exc);
597 597
				} catch (IllegalAccessException exc) {
598
					exc.printStackTrace();
598
					NotificationManager.addError("Error instanciando " + claseStr, exc);
599 599
				} catch (NoSuchMethodException exc) {
600
					exc.printStackTrace();
600
					NotificationManager.addError("Error obteniendo el constructor para la clase " + claseStr, exc);
601 601
				} catch (InvocationTargetException exc) {
602
					exc.printStackTrace();
602
					NotificationManager.addError("Error instanciando " + claseStr, exc);
603 603
				}
604 604
			}
605 605
		}
......
640 640
					ViewPort vp = tiles.getTileViewPort(viewPort, tileNr);
641 641
					draw(null, g, vp, cancel, scale);
642 642
				} catch (NoninvertibleTransformException e) {
643
					e.printStackTrace();
643
					NotificationManager.addError("Error en la transformaci?n.", e);
644 644
				}
645 645
			}
646 646
			/*if(stats != null){
......
713 713
					draw(null, g, vp, cancel, scale);
714 714

  
715 715
				} catch (NoninvertibleTransformException e) {
716
					e.printStackTrace();
716
					NotificationManager.addError("Error en la transformaci?n.", e);
717 717
				}
718 718
				// Fin parte que dibuja
719 719
				xProv = xProv + A;

Also available in: Unified diff