Index: core-library/src/java/org/apache/shale/dialog/faces/DialogNavigationHandler.java =================================================================== --- core-library/src/java/org/apache/shale/dialog/faces/DialogNavigationHandler.java (revision 314932) +++ core-library/src/java/org/apache/shale/dialog/faces/DialogNavigationHandler.java (working copy) @@ -174,6 +174,12 @@ ",outcome=" + outcome + ")"); } + if (outcome == null) + { + handler.handleNavigation(context, fromAction, outcome); + return; + } + // If we are not executing a dialog, delegate to the standard handler // unless the outcome starts with our prefix to start a dialog Status status = getStatus(context, false); @@ -279,8 +285,10 @@ assert context != null; Map map = context.getExternalContext().getSessionMap(); + String key = getStatusKey(context); assert key != null; + Status status = (Status) map.get(key); if (create && (status == null)) { status = new StatusImpl(); @@ -467,10 +475,6 @@ * if there is none, check for a global {@link Transition} associated with * the {@link Dialog} that owns the origin {@link State}.
* - *NOTE For consistency with standard JavaServer Faces
- * navigation, transition from a {@link ViewState} with a null
- * outcome stays in the same {@link ViewState}.