diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2020-04-24 13:40:15 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-24 13:40:15 +0300 |
commit | 2d441b3f725c065a1f3e72ed91ae2c218f954b2f (patch) | |
tree | 77938e6d713895f58e4aa45266bdd88bd37d86df /client/src | |
parent | 640286088e4469a844253c6516e393d59c5ee3c6 (diff) | |
download | vaadin-framework-8.10.4.tar.gz vaadin-framework-8.10.4.zip |
Don't center a window that has already been removed. (#11956) (#11969)8.10.4
* 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); } |