From 00adf36ec3502634a87419bd5485e1c883a98f21 Mon Sep 17 00:00:00 2001 From: apolds Date: Wed, 24 May 2017 07:33:09 +0200 Subject: Allow changing NavigationStateManager (#9410) Unregister old NavigationStateManager before setting new one. Fixes #9406 --- server/src/main/java/com/vaadin/navigator/Navigator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/server/src/main/java/com/vaadin/navigator/Navigator.java b/server/src/main/java/com/vaadin/navigator/Navigator.java index 83f1dbe739..567c271211 100644 --- a/server/src/main/java/com/vaadin/navigator/Navigator.java +++ b/server/src/main/java/com/vaadin/navigator/Navigator.java @@ -510,6 +510,10 @@ public class Navigator implements Serializable { if (stateManager == null) { stateManager = new UriFragmentManager(ui.getPage()); } + if (stateManager != null && this.stateManager != null + && stateManager != this.stateManager) { + this.stateManager.setNavigator(null); + } this.stateManager = stateManager; this.stateManager.setNavigator(this); this.display = display; -- cgit v1.2.3