summaryrefslogtreecommitdiffstats
path: root/client/src
diff options
context:
space:
mode:
authorAnna Koskinen <Ansku@users.noreply.github.com>2020-04-24 13:40:15 +0300
committerGitHub <noreply@github.com>2020-04-24 13:40:15 +0300
commit2d441b3f725c065a1f3e72ed91ae2c218f954b2f (patch)
tree77938e6d713895f58e4aa45266bdd88bd37d86df /client/src
parent640286088e4469a844253c6516e393d59c5ee3c6 (diff)
downloadvaadin-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.java10
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);
}