From 7b957a5c378532b11ebfb66156c3a46898f9231b Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Sat, 15 Oct 2016 22:05:51 +0300 Subject: Allow a resize listener to fire a resize listener (#20338) Change-Id: I6b045c3a693e88b3cba182ae9ea68cfa98c914b0 --- client/src/main/java/com/vaadin/client/LayoutManager.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'client') diff --git a/client/src/main/java/com/vaadin/client/LayoutManager.java b/client/src/main/java/com/vaadin/client/LayoutManager.java index ad0a3f8c38..878ac17901 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 listenersCopy = new HashSet( + listenersToFire); + listenersToFire.clear(); firedListeners = listenersToFire.size(); Profiler.enter("Layout fire resize events"); - for (Element element : listenersToFire) { + for (Element element : listenersCopy) { Collection 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"); } -- cgit v1.2.3