Author: scabanovich
Date: 2011-12-19 20:59:12 -0500 (Mon, 19 Dec 2011)
New Revision: 37446
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/editor/form/SamplePropertyForm.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/NoteFieldEditor.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ExpandableForm.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/widgets/TextAndReferenceComponent.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/propertieseditor/PropertiesEditor.java
Log:
JBIDE-10226
https://issues.jboss.org/browse/JBIDE-10226
Font leaks prevented.
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/editor/form/SamplePropertyForm.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/editor/form/SamplePropertyForm.java 2011-12-20
01:51:14 UTC (rev 37445)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/editor/form/SamplePropertyForm.java 2011-12-20
01:59:12 UTC (rev 37446)
@@ -32,6 +32,7 @@
import org.jboss.tools.common.model.ui.widgets.DefaultSettings;
import org.jboss.tools.common.model.ui.widgets.IWidgetSettings;
import org.jboss.tools.common.model.ui.widgets.WhiteSettings;
+import org.jboss.tools.common.util.SwtUtil;
public class SamplePropertyForm extends ExpandableForm implements PropertyChangeListener
{
private XAttributeSupport support;
@@ -85,7 +86,9 @@
Font f = label.getFont();
FontData[] d = f.getFontData();
for (int i = 0; i < d.length; i++) d[i].setStyle(SWT.BOLD);
- label.setFont(new Font(null, d));
+ f = new Font(null, d);
+ label.setFont(f);
+ SwtUtil.bindDisposal(f, label);
}
updateEnablement();
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/NoteFieldEditor.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/NoteFieldEditor.java 2011-12-20
01:51:14 UTC (rev 37445)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/attribute/editor/NoteFieldEditor.java 2011-12-20
01:59:12 UTC (rev 37446)
@@ -48,6 +48,7 @@
import org.jboss.tools.common.model.ui.widgets.IWidgetSettings;
import org.jboss.tools.common.model.ui.widgets.ScrolledComposite;
import org.jboss.tools.common.model.ui.widgets.border.Border;
+import org.jboss.tools.common.util.SwtUtil;
public class NoteFieldEditor extends ExtendedFieldEditor implements IFieldEditor,
IPropertyFieldEditor, IPropertyChangeListener, PropertyChangeListener {
protected IPropertyEditor propertyEditor;
@@ -208,6 +209,7 @@
try {
font = new Font(null, data);
textField.setFont(font);
+ SwtUtil.bindDisposal(font, textField);
} catch (SWTException e) {
ModelUIPlugin.getPluginLog().logError(e);
}
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ExpandableForm.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ExpandableForm.java 2011-12-20
01:51:14 UTC (rev 37445)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/forms/ExpandableForm.java 2011-12-20
01:59:12 UTC (rev 37446)
@@ -11,12 +11,7 @@
package org.jboss.tools.common.model.ui.forms;
-import java.util.HashMap;
-
import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Device;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
@@ -118,23 +113,9 @@
// section.setClient(composite);
section.setClient(client);
- section.setFont(getFontFromMap(section.getFont().getDevice(),
section.getFont().getFontData()));
-
return control;
}
- private HashMap<FontData[], Font> fonts = new HashMap<FontData[], Font>();
-
- private Font getFontFromMap(Device device, FontData[] fontData){
- if(fonts.containsKey(fontData))
- return fonts.get(fontData);
- else{
- Font font = new Font(device, fontData);
- fonts.put(fontData, font);
- return font;
- }
- }
-
protected void reflow() {
if (control==null) return;
Composite parent = control.getParent();
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/widgets/TextAndReferenceComponent.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/widgets/TextAndReferenceComponent.java 2011-12-20
01:51:14 UTC (rev 37445)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/widgets/TextAndReferenceComponent.java 2011-12-20
01:59:12 UTC (rev 37446)
@@ -27,6 +27,7 @@
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
+import org.jboss.tools.common.util.SwtUtil;
public class TextAndReferenceComponent extends Canvas implements PaintListener,
MouseMoveListener {
int defaultWidth = 100;
@@ -48,6 +49,7 @@
plain = getFont();
FontData d = plain.getFontData()[0];
bold = new Font(null, d.getName(), d.getHeight(), d.getStyle() | SWT.BOLD);
+ SwtUtil.bindDisposal(bold, this);
}
public void mouseMove(MouseEvent e) {
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/propertieseditor/PropertiesEditor.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/propertieseditor/PropertiesEditor.java 2011-12-20
01:51:14 UTC (rev 37445)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/propertieseditor/PropertiesEditor.java 2011-12-20
01:59:12 UTC (rev 37446)
@@ -78,6 +78,7 @@
import org.jboss.tools.common.model.ui.objecteditor.XChildrenEditor;
import org.jboss.tools.common.model.ui.texteditors.TextActionHelper;
import org.jboss.tools.common.model.util.AbstractTableHelper;
+import org.jboss.tools.common.util.SwtUtil;
public class PropertiesEditor extends XChildrenEditor implements ITextEditor,
ITextOperationTarget {
static final String ENT_PROPERTY = "Property"; //$NON-NLS-1$
@@ -227,6 +228,7 @@
data[0].setHeight(data[0].getHeight() - 2);
font = new Font(font.getDevice(), data);
caseSensitive.setFont(font);
+ SwtUtil.bindDisposal(font, caseSensitive);
}
caseSensitive.setLayoutData(fd);
@@ -254,6 +256,7 @@
data[0].setHeight(data[0].getHeight() - 2);
font = new Font(font.getDevice(), data);
fake.setFont(font);
+ SwtUtil.bindDisposal(font, fake);
}
fake.setLayoutData(fd);