From c79413ae4d2c5797bb90c50ddc1442f2e7ea1004 Mon Sep 17 00:00:00 2001 From: Johannes Dahlström Date: Mon, 29 Oct 2012 15:05:09 +0200 Subject: Fix potential NPE in Page.setFragment (#10089) Change-Id: I0a0f2981bfd0e3dd26f935e4961b24454103bb30 --- server/src/com/vaadin/server/Page.java | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'server') diff --git a/server/src/com/vaadin/server/Page.java b/server/src/com/vaadin/server/Page.java index 510bb4734b..1f4ff040ac 100644 --- a/server/src/com/vaadin/server/Page.java +++ b/server/src/com/vaadin/server/Page.java @@ -377,21 +377,22 @@ public class Page implements Serializable { */ public void setFragment(String newFragment, boolean fireEvents) { String oldFragment = location.getFragment(); - if (newFragment == null && oldFragment != null - || !newFragment.equals(oldFragment)) { - try { - location = new URI(location.getScheme(), - location.getSchemeSpecificPart(), newFragment); - } catch (URISyntaxException e) { - // This should not actually happen as the fragment syntax is not - // constrained - throw new RuntimeException(e); - } - if (fireEvents) { - fireEvent(new FragmentChangedEvent(this, newFragment)); - } - uI.markAsDirty(); + if (newFragment == oldFragment + || (newFragment != null && newFragment.equals(oldFragment))) { + return; } + try { + location = new URI(location.getScheme(), + location.getSchemeSpecificPart(), newFragment); + } catch (URISyntaxException e) { + // This should not actually happen as the fragment syntax is not + // constrained + throw new RuntimeException(e); + } + if (fireEvents) { + fireEvent(new FragmentChangedEvent(this, newFragment)); + } + uI.markAsDirty(); } private void fireEvent(EventObject event) { -- cgit v1.2.3