diff options
author | Christian W. Damus | 2014-03-26 18:27:29 +0000 |
---|---|---|
committer | Christian W. Damus | 2014-03-26 18:27:39 +0000 |
commit | d1fa11d421e36d2eef220b8e20ae5ac347868150 (patch) | |
tree | f37efef01f7eacf0078707c414014ee57ca174db /extraplugins | |
parent | 3ce2e7826279d3ef2e39a0904bad9c9e1fdbe721 (diff) | |
download | org.eclipse.papyrus-d1fa11d421e36d2eef220b8e20ae5ac347868150.tar.gz org.eclipse.papyrus-d1fa11d421e36d2eef220b8e20ae5ac347868150.tar.xz org.eclipse.papyrus-d1fa11d421e36d2eef220b8e20ae5ac347868150.zip |
392301: Colors are leaked
https://bugs.eclipse.org/bugs/show_bug.cgi?id=392301
Update editor factories in extra plugins for new IPageModel API.
Diffstat (limited to 'extraplugins')
2 files changed, 27 insertions, 7 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/factory/PapyrusCDTEditorFactory.java b/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/factory/PapyrusCDTEditorFactory.java index 9f31853b7ca..a2103edd843 100644 --- a/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/factory/PapyrusCDTEditorFactory.java +++ b/extraplugins/codegen/org.eclipse.papyrus.texteditor.cdt/src/org/eclipse/papyrus/texteditor/cdt/factory/PapyrusCDTEditorFactory.java @@ -1,5 +1,5 @@ /*****************************************************************************
- * Copyright (c) 2013 CEA LIST.
+ * Copyright (c) 2013, 2014 CEA LIST and others.
*
*
* All rights reserved. This program and the accompanying materials
@@ -10,6 +10,7 @@ * Contributors:
* Vincent Lorenzo (CEA LIST) Vincent.Lorenzo@cea.fr - Initial API and implementation
* Ansgar Radermacher (CEA LIST) - Minor adaptations
+ * Christian W. Damus (CEA) - bug 392301
*
*****************************************************************************/
package org.eclipse.papyrus.texteditor.cdt.factory;
@@ -193,5 +194,10 @@ public class PapyrusCDTEditorFactory extends AbstractEditorFactory { public String getTabTitle() {
return rawEditorModel.getName();
}
+
+ @Override
+ public void dispose() {
+ // Pass. The tab icon is a plugin-shared image
+ }
}
}
diff --git a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel.diagram/src/org/eclipse/papyrus/layers/stackmodel/diagram/LayersTreeDiagramEditorFactory.java b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel.diagram/src/org/eclipse/papyrus/layers/stackmodel/diagram/LayersTreeDiagramEditorFactory.java index 6ccae15f1bf..394758f2cb9 100644 --- a/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel.diagram/src/org/eclipse/papyrus/layers/stackmodel/diagram/LayersTreeDiagramEditorFactory.java +++ b/extraplugins/layers/org.eclipse.papyrus.layers.stackmodel.diagram/src/org/eclipse/papyrus/layers/stackmodel/diagram/LayersTreeDiagramEditorFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 CEA LIST. + * Copyright (c) 2013, 2014 LIFL, CEA LIST, and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,8 @@ * * Contributors: * Cedric Dumoulin - cedric.dumoulin@lifl.fr + * Christian W. Damus (CEA) - bug 392301 + * ******************************************************************************/ package org.eclipse.papyrus.layers.stackmodel.diagram; @@ -105,6 +107,8 @@ public class LayersTreeDiagramEditorFactory implements IPluggableEditorFactory { private Diagram pageIdentifier; private ServicesRegistry servicesRegistry; + + private Image tabIcon; /** * @@ -185,12 +189,14 @@ public class LayersTreeDiagramEditorFactory implements IPluggableEditorFactory { * */ public Image getTabIcon() { - ImageDescriptor imageDescriptor = editorDescriptor.getIcon(); - if(imageDescriptor == null) { - return null; + if(tabIcon == null) { + ImageDescriptor imageDescriptor = editorDescriptor.getIcon(); + if(imageDescriptor != null) { + tabIcon = imageDescriptor.createImage(); + } } - - return imageDescriptor.createImage(); + + return tabIcon; } /** @@ -202,6 +208,14 @@ public class LayersTreeDiagramEditorFactory implements IPluggableEditorFactory { public String getTabTitle() { return "Layers Tree Editor"; } + + @Override + public void dispose() { + if(tabIcon != null) { + tabIcon.dispose(); + tabIcon = null; + } + } } } |