FIXED - bug 273265: [DataBinding] ChangeManager doesn't support Cloneable
https://bugs.eclipse.org/bugs/show_bug.cgi?id=273265
diff --git a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
index a100ad6..2d9ae01 100644
--- a/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
+++ b/bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/ChangeManager.java
@@ -8,6 +8,7 @@
* Contributors:
* IBM Corporation - initial API and implementation
* Matthew Hall - bugs 118516, 255734
+ * Chris Audley - bug 273265
*******************************************************************************/
package org.eclipse.core.databinding.observable;
@@ -22,17 +23,17 @@
* @since 1.0
*
*/
-/* package */ class ChangeManager {
+/* package */class ChangeManager {
ListenerList[] listenerLists = null;
Object listenerTypes[] = null;
private Realm realm;
/**
- * @param realm
+ * @param realm
*
*/
- /* package */ ChangeManager(Realm realm) {
+ /* package */ChangeManager(Realm realm) {
Assert.isNotNull(realm, "Realm cannot be null"); //$NON-NLS-1$
this.realm = realm;
}
@@ -148,4 +149,10 @@
return realm;
}
+ protected Object clone() throws CloneNotSupportedException {
+ ChangeManager duplicate = (ChangeManager) super.clone();
+ duplicate.listenerLists = null;
+ duplicate.listenerTypes = null;
+ return duplicate;
+ }
}