diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2020-04-24 11:26:04 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-24 11:26:04 +0300 |
commit | fb5e0c2fe112908a1390696a2d415583c94f524b (patch) | |
tree | 2f5424d2a32ef4e5a9a0aef5f6c3dc3bc2401158 /client/src | |
parent | 14f6f3ba268005641a23db49a6c9d81793cb14c8 (diff) | |
download | vaadin-framework-fb5e0c2fe112908a1390696a2d415583c94f524b.tar.gz vaadin-framework-fb5e0c2fe112908a1390696a2d415583c94f524b.zip |
Don't center a window that has already been removed. (#11956)
* Don't center a window that has already been removed.
Fixes #11942
Diffstat (limited to 'client/src')
-rw-r--r-- | client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java b/client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java index 12ce828f47..9603310e22 100644 --- a/client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java +++ b/client/src/main/java/com/vaadin/client/ui/window/WindowConnector.java @@ -433,11 +433,17 @@ public class WindowConnector extends AbstractSingleComponentContainerConnector // This had to be here because we might not know the content size before // everything is painted into the window - // centered is this is unset on move/resize + // centered if this is unset on move/resize window.centered = state.centered; // Ensure centering before setting visible (#16486) if (window.centered && getState().windowMode != WindowMode.MAXIMIZED) { - Scheduler.get().scheduleFinally(() -> getWidget().center()); + Scheduler.get().scheduleFinally(() -> { + // the window may have got removed again before this is + // triggered, and centering would re-display it + if (getWidget().isShowing()) { + getWidget().center(); + } + }); } window.setVisible(true); } |