From: Jani Laakso Date: Thu, 31 Jan 2008 13:39:42 +0000 (+0000) Subject: Fixed #588 (another partial fix for larger listener problems). AbstractSelect X-Git-Tag: 6.7.0.beta1~5132 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cd817ff77e987032a4d039223469f6d3a95f7492;p=vaadin-framework.git Fixed #588 (another partial fix for larger listener problems). AbstractSelect * itemSetEventListener and propertySetEventListener contains only unique listeners, hence duplicates are not allowed svn changeset:3684/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/ui/AbstractSelect.java b/src/com/itmill/toolkit/ui/AbstractSelect.java index 9a7a5de4ea..ef23f7d37f 100644 --- a/src/com/itmill/toolkit/ui/AbstractSelect.java +++ b/src/com/itmill/toolkit/ui/AbstractSelect.java @@ -9,6 +9,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.Map; import java.util.Set; @@ -159,12 +160,12 @@ public abstract class AbstractSelect extends AbstractField implements /** * List of property set change event listeners. */ - private LinkedList propertySetEventListeners = null; + private Set propertySetEventListeners = null; /** * List of item set change event listeners. */ - private LinkedList itemSetEventListeners = null; + private Set itemSetEventListeners = null; /** * Item id that represents null selection of this select. @@ -1371,7 +1372,7 @@ public abstract class AbstractSelect extends AbstractField implements */ public void addListener(Container.PropertySetChangeListener listener) { if (propertySetEventListeners == null) { - propertySetEventListeners = new LinkedList(); + propertySetEventListeners = new LinkedHashSet(); } propertySetEventListeners.add(listener); } @@ -1397,7 +1398,7 @@ public abstract class AbstractSelect extends AbstractField implements */ public void addListener(Container.ItemSetChangeListener listener) { if (itemSetEventListeners == null) { - itemSetEventListeners = new LinkedList(); + itemSetEventListeners = new LinkedHashSet(); } itemSetEventListeners.add(listener); }