From 8a69c69969400725f8c8f86638c644ad685f3027 Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Mon, 27 Jun 2011 11:22:15 +0000
Subject: [PATCH] bugfix: refresh() did not dispose and recreate databinding
 context

---
 .../kernel/ui/base/PropertySectionBase.java      | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/PropertySectionBase.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/PropertySectionBase.java
index 1136f50ee..761a02acf 100644
--- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/PropertySectionBase.java
+++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/base/PropertySectionBase.java
@@ -41,7 +41,7 @@ import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: 52DBB44E0AFA61A036B9C2A5297E3BA5
+ * @ConQAT.Rating RED Hash: 796851A7B16A7BEB1C3AAD577BF565CB
  */
 public abstract class PropertySectionBase extends AbstractPropertySection {
 
@@ -67,6 +67,8 @@ public abstract class PropertySectionBase extends AbstractPropertySection {
 	/** {@inheritDoc} */
 	@Override
 	public void dispose() {
+		dbc.dispose();
+		dbc = null;
 		super.dispose();
 	}
 
@@ -125,4 +127,16 @@ public abstract class PropertySectionBase extends AbstractPropertySection {
 		gd.heightHint = Math.min(50, gd.heightHint);
 		control.setLayoutData(gd);
 	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * <p>
+	 * Sub-classes may override, but must call super.refresh() first.
+	 */
+	@Override
+	public void refresh() {
+		dbc.dispose();
+		dbc = new DataBindingContext();
+	}
 }
-- 
GitLab