diff options
author | Artur Signell <artur@vaadin.com> | 2016-10-15 22:05:51 +0300 |
---|---|---|
committer | Vaadin Code Review <review@vaadin.com> | 2016-10-25 09:01:04 +0000 |
commit | ece3ac4f2fc3db486796df8c70e9381349a8c091 (patch) | |
tree | 72f0bf9b0cf4ff0bfd75b574df03678ed29d1c9e /client | |
parent | ac92d2029884ab45899baddb1a6c6353e734c3b5 (diff) | |
download | vaadin-framework-ece3ac4f2fc3db486796df8c70e9381349a8c091.tar.gz vaadin-framework-ece3ac4f2fc3db486796df8c70e9381349a8c091.zip |
Allow a resize listener to fire a resize listener (#20338)
Change-Id: I6b045c3a693e88b3cba182ae9ea68cfa98c914b0
Diffstat (limited to 'client')
-rw-r--r-- | client/src/main/java/com/vaadin/client/LayoutManager.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/client/src/main/java/com/vaadin/client/LayoutManager.java b/client/src/main/java/com/vaadin/client/LayoutManager.java index 306cea5ced..5a16da5e14 100644 --- a/client/src/main/java/com/vaadin/client/LayoutManager.java +++ b/client/src/main/java/com/vaadin/client/LayoutManager.java @@ -350,9 +350,12 @@ public class LayoutManager { int firedListeners = 0; if (!listenersToFire.isEmpty()) { + HashSet<Element> listenersCopy = new HashSet<Element>( + listenersToFire); + listenersToFire.clear(); firedListeners = listenersToFire.size(); Profiler.enter("Layout fire resize events"); - for (Element element : listenersToFire) { + for (Element element : listenersCopy) { Collection<ElementResizeListener> listeners = elementResizeListeners .get(element); if (listeners != null) { @@ -393,8 +396,6 @@ public class LayoutManager { "Layout fire resize events - listeners not null"); } } - listenersToFire.clear(); - Profiler.leave("Layout fire resize events"); } |