Index: tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 2625)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 2626)
@@ -2523,9 +2523,11 @@
 		// so the engine can do some clean up, e.g. R destroying some objects, etc.
 		// But we also have a TXMResult.clean() method that we could use
 		catch (ThreadDeath | InterruptedException e) {
+			
 			// set result and its children as canceled
 			this.resetComputingState();
 			
+			// console log
 			Log.info(NLS.bind(TXMCoreMessages.info_cancelingComputingOfP0P1, this.getName(), this.getClass().getSimpleName()));
 			
 			if (e instanceof ThreadDeath) {
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 2625)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 2626)
@@ -178,6 +178,7 @@
 		this.chartToolBar = new ChartEditorToolBar(this, this.getFirstLineComposite(), null, SWT.FLAT | SWT.RIGHT);
 		this.getFirstLineComposite().getLayout().numColumns += 1;
 		
+		// store buttons to enable/disable them
 		this.exportChartEditorViewButton = this.chartToolBar.getItemByContributionId("exportChartEditorView"); //$NON-NLS-1$
 		this.copyChartViewToClipboardButton = this.chartToolBar.getItemByContributionId("copyChartViewToClipboard"); //$NON-NLS-1$
 		
@@ -192,7 +193,7 @@
 		this.swtChartsComponentsProvider = SWTChartsComponentsProvider.getComponentsProvider(this.getResult().getChartsEngine());
 		
 		if (this.swtChartsComponentsProvider == null) {
-			throw new Exception("No suitable component found to render the specified chart.");
+			throw new Exception("No suitable component found to render the specified chart."); //$NON-NLS-1$
 		}
 		
 		// Chart composite
@@ -314,7 +315,7 @@
 		this.loadChart();
 		
 		
-		// FIXME: this code should be moved in ChartComposite.loadChart()?
+		// FIXME: SJ: this code should be moved in ChartComposite.loadChart()?
 		if (needInit) {
 			this.onInit();
 		}
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java	(revision 2625)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java	(revision 2626)
@@ -22,6 +22,7 @@
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.rcp.IImageKeys;
+import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.GLComposite;
 
 /**
@@ -32,9 +33,9 @@
  *
  */
 public class AdvancedChartEditorToolBar extends ChartEditorToolBar {
-
-	public final static String ID = "AdvancedChartEditorToolBar" ;
 	
+	public final static String ID = "AdvancedChartEditorToolBar";
+	
 	/**
 	 *
 	 * @param parent
@@ -45,59 +46,59 @@
 		
 		
 		final ToolItem showTitleButton = new ToolItem(this, SWT.CHECK);
-		//showTitle.setText(SWTComponentsProviderMessages.showhideTitle);
+		// showTitle.setText(SWTComponentsProviderMessages.showhideTitle);
 		showTitleButton.setImage(IImageKeys.getImage(getClass(), "icons/show_title.png"));
 		showTitleButton.setDisabledImage(IImageKeys.getImage(getClass(), "icons/show_title_disabled.png"));
 		showTitleButton.setToolTipText(ChartsUIMessages.showhideTitle);
-
-		if(!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_TITLE))	{
+		
+		if (!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_TITLE)) {
 			showTitleButton.setSelection(chartEditor.getResult().isTitleVisible());
 		}
 		// disable if not managed by the command
-		else	{
+		else {
 			showTitleButton.setEnabled(false);
 		}
 		
-
+		
 		final ToolItem showLegendButton = new ToolItem(this, SWT.CHECK);
-		//showLegend.setText(SWTComponentsProviderMessages.showhideLegend);
+		// showLegend.setText(SWTComponentsProviderMessages.showhideLegend);
 		showLegendButton.setImage(IImageKeys.getImage(getClass(), "icons/show_legend.png"));
 		showLegendButton.setDisabledImage(IImageKeys.getImage(getClass(), "icons/show_legend_disabled.png"));
 		showLegendButton.setToolTipText(ChartsUIMessages.showhideLegend);
-
-		if(!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_LEGEND))	{
+		
+		if (!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_LEGEND)) {
 			showLegendButton.setSelection(chartEditor.getResult().isLegendVisible());
 		}
 		// disable if not managed by the command
-		else	{
+		else {
 			showLegendButton.setEnabled(false);
 		}
-
 		
+		
 		final ToolItem showGridButton = new ToolItem(this, SWT.CHECK);
-		//showGrid.setText(SWTComponentsProviderMessages.showhideGrid);
+		// showGrid.setText(SWTComponentsProviderMessages.showhideGrid);
 		showGridButton.setImage(IImageKeys.getImage(getClass(), "icons/show_grid.png"));
 		showGridButton.setDisabledImage(IImageKeys.getImage(getClass(), "icons/show_grid_disabled.png"));
 		showGridButton.setToolTipText(ChartsUIMessages.showhideGrid);
 		
-		if(!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_GRID))	{
+		if (!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.SHOW_GRID)) {
 			showGridButton.setSelection(chartEditor.getResult().isGridVisible());
 		}
 		// disable if not managed by the command
-		else	{
+		else {
 			showGridButton.setEnabled(false);
 		}
-
 		
 		
+		
 		// Rendering colors mode selection
 		new ToolItem(this, SWT.SEPARATOR);
 		final Combo renderingModeCombo = new Combo(this, SWT.READ_ONLY);
-		String colorsModes[] = new String[]{ChartsUIMessages.colors,
-			ChartsUIMessages.grayscale,
-			ChartsUIMessages.blackAndWhite,
-			ChartsUIMessages.monochrome
-			};
+		String colorsModes[] = new String[] { ChartsUIMessages.colors,
+				ChartsUIMessages.grayscale,
+				ChartsUIMessages.blackAndWhite,
+				ChartsUIMessages.monochrome
+		};
 		renderingModeCombo.setItems(colorsModes);
 		
 		ToolItem renderingComboItem = new ToolItem(this, SWT.SEPARATOR);
@@ -105,11 +106,11 @@
 		renderingModeCombo.pack();
 		renderingComboItem.setWidth(renderingModeCombo.getBounds().width);
 		
-		if(!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.RENDERING_COLORS_MODE))	{
+		if (!chartEditor.getResult().isEmptyPreference(ChartsEnginePreferences.RENDERING_COLORS_MODE)) {
 			renderingModeCombo.select(chartEditor.getResult().getRenderingColorsMode());
 		}
 		// disable if not managed
-		else	{
+		else {
 			renderingModeCombo.setEnabled(false);
 		}
 		
@@ -118,31 +119,31 @@
 		final Font currentFont = ChartsEngine.createFont(chartEditor.getResult().getFont());
 		
 		final Combo fontCombo = new Combo(this, SWT.READ_ONLY);
-		String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); //FIXME: SJ: maybe better here to get the fonts from SWT rather than from Java
+		String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); // FIXME: SJ: may be better here to get the fonts from SWT rather than from Java
 		fontCombo.setItems(fonts);
-
+		
 		ToolItem fontsComboItem = new ToolItem(this, SWT.SEPARATOR);
 		fontsComboItem.setControl(fontCombo);
 		fontCombo.pack();
 		fontsComboItem.setWidth(fontCombo.getBounds().width);
 		
 		int currentFontIndex = 0;
-		for(int i = 0; i < fonts.length; i++) {
-			if(fonts[i].equals(currentFont.getName()))	{
+		for (int i = 0; i < fonts.length; i++) {
+			if (fonts[i].equals(currentFont.getName())) {
 				currentFontIndex = i;
 				break;
 			}
 		}
 		fontCombo.select(currentFontIndex);
 		
-
+		
 		// Font size
 		final Combo fontSizeCombo = new Combo(this, SWT.READ_ONLY);
 		String fontSizes[] = new String[30];
 		int currentFontSizeIndex = 0;
-		for(int i = 0; i < fontSizes.length; i++) {
+		for (int i = 0; i < fontSizes.length; i++) {
 			fontSizes[i] = String.valueOf(i + 1);
-			if(currentFont.getSize() == (i + 1))	{
+			if (currentFont.getSize() == (i + 1)) {
 				currentFontSizeIndex = i;
 			}
 			
@@ -155,15 +156,15 @@
 		fontSizeComboItem.setWidth(fontSizeCombo.getBounds().width);
 		
 		fontSizeCombo.select(currentFontSizeIndex);
-
 		
+		
 		// Chart types from installed chart creators in all installed charts engines
 		final Combo chartTypeCombo = new Combo(this, SWT.READ_ONLY);
-		if(TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
-	
-			ArrayList<String> chartsEngineNames = new ArrayList<String>();
-			ArrayList<ChartCreator> allChartCreators = new ArrayList<ChartCreator>();
+		if (TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)) {
 			
+			ArrayList<String> chartsEngineNames = new ArrayList<>();
+			ArrayList<ChartCreator> allChartCreators = new ArrayList<>();
+			
 			for (int i = 0; i < ChartsEngine.getChartsEngines().size(); i++) {
 				ArrayList<ChartCreator> chartCreators = ChartsEngine.getChartsEngines().get(i).getChartCreators(this.getEditorPart().getResult());
 				for (int j = 0; j < chartCreators.size(); j++) {
@@ -176,15 +177,15 @@
 			String chartTypes[] = new String[allChartCreators.size()];
 			int currentChartCreatorIndex = 0;
 			
-			for(int i = 0; i < allChartCreators.size(); i++) {
+			for (int i = 0; i < allChartCreators.size(); i++) {
 				
 				chartTypes[i] = allChartCreators.get(i).getChartType();
-				if(chartTypes[i] == null)	{
+				if (chartTypes[i] == null) {
 					chartTypes[i] = ChartsEnginePreferences.DEFAULT_CHART_TYPE;
 				}
 				
 				// preselected combo index
-				if(this.getEditorPart().getChartType() != null && this.getEditorPart().getChartType().equals(chartTypes[i])
+				if (this.getEditorPart().getChartType() != null && this.getEditorPart().getChartType().equals(chartTypes[i])
 						&& this.getEditorPart().getResult().getChartsEngine().getName().equals(chartsEngineNames.get(i))) {
 					currentChartCreatorIndex = i;
 				}
@@ -202,7 +203,7 @@
 			chartTypeCombo.select(currentChartCreatorIndex);
 			
 			
-			if(allChartCreators.size() < 2)	{
+			if (allChartCreators.size() < 2) {
 				chartTypeCombo.setVisible(false);
 			}
 		}
@@ -218,25 +219,26 @@
 				
 				
 				// FIXME: SJ: title, legend, grid visibility etc. should use the autoUpdateEditor annotation parameters copy functions
-				if(e.getSource() == showTitleButton)	{
+				if (e.getSource() == showTitleButton) {
 					getEditorPart().getResult().setTitleVisible(showTitleButton.getSelection());
 				}
-				else if(e.getSource() == showLegendButton)	{
+				else if (e.getSource() == showLegendButton) {
 					getEditorPart().getResult().setLegendVisible(showLegendButton.getSelection());
 				}
-				else if(e.getSource() == showGridButton)	{
+				else if (e.getSource() == showGridButton) {
 					getEditorPart().getResult().setGridVisible(showGridButton.getSelection());
 				}
-				else if(e.getSource() == renderingModeCombo)	{
+				else if (e.getSource() == renderingModeCombo) {
 					getEditorPart().getResult().setRenderingColorsMode(renderingModeCombo.getSelectionIndex());
 				}
 				// end of FIXME
 				
-				
-				else if(e.getSource() == fontCombo || e.getSource() == fontSizeCombo)	{
+				// Font
+				else if (e.getSource() == fontCombo || e.getSource() == fontSizeCombo) {
 					getEditorPart().getResult().setFont("1|" + fontCombo.getItem(fontCombo.getSelectionIndex()) + "|" + fontSizeCombo.getItem(fontSizeCombo.getSelectionIndex()) + "|0"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 				}
-				else if(e.getSource() == chartTypeCombo)	{
+				// Chart type / chart creators
+				else if (e.getSource() == chartTypeCombo) {
 					
 					String[] data = StringUtils.split(chartTypeCombo.getItem(chartTypeCombo.getSelectionIndex()), '/');
 					data[0] = StringUtils.trim(data[0]);
@@ -245,12 +247,15 @@
 					getEditorPart().getResult().setChartsEngine((ChartsEngine) Toolbox.getEngineManager(EngineType.CHARTS).getEngine(data[0]));
 					update = false;
 				}
-
+				
 				getEditorPart().getResult().setChartDirty();
+				getEditorPart().setDirty(true);
 				
-				// updates or creates chart
-				getEditorPart().compute(update);
-				getEditorPart().setFocus();
+				if (RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR)) {
+					// updates or creates chart
+					getEditorPart().compute(update);
+					getEditorPart().setFocus();
+				}
 			}
 			
 			@Override
@@ -267,11 +272,11 @@
 		fontSizeCombo.addSelectionListener(listener);
 		chartTypeCombo.addSelectionListener(listener);
 	}
-
-
 	
+	
+	
 	@Override
-	protected void checkSubclass() { } // if this method is not defined then the ToolBar cannot be subclassed
+	protected void checkSubclass() {} // if this method is not defined then the ToolBar cannot be subclassed
 	
-
-}
\ No newline at end of file
+	
+}
