Index: lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java =================================================================== diff -u -r1fe0f4f546903187be6f35e4d5c027853da9408c -rc7d9c7ec6090e62933ae91ca029b6402fa7fb974 --- lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision 1fe0f4f546903187be6f35e4d5c027853da9408c) +++ lams_common/src/java/org/lamsfoundation/lams/learningdesign/Activity.java (.../Activity.java) (revision c7d9c7ec6090e62933ae91ca029b6402fa7fb974) @@ -1163,11 +1163,11 @@ } public boolean isFloating() { - if(parentActivity != null) { - return parentActivity.isFloatingActivity(); + if(parentActivity == null){ + return false; } - return false; + return (parentActivity.isFloatingActivity()) ? true : parentActivity.isFloating(); } } \ No newline at end of file Index: lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java =================================================================== diff -u -r96b3b3ff3f62e1bca1d299f75f512995388e420b -rc7d9c7ec6090e62933ae91ca029b6402fa7fb974 --- lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision 96b3b3ff3f62e1bca1d299f75f512995388e420b) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/web/util/ActivityMapping.java (.../ActivityMapping.java) (revision c7d9c7ec6090e62933ae91ca029b6402fa7fb974) @@ -355,12 +355,15 @@ String closeWindowURLAction = activityMappingStrategy.getCloseWindowAction(); // Always calculate the url for the "normal" next case as we won't know till we reach the close window if we need it. - String action = getDisplayActivityAction(lessonId); + + String action = getDisplayActivityAction(lessonId); action = strutsActionToURL(action,null,true); action = WebUtil.appendParameterToURL(action, DisplayActivityAction.PARAM_INITIAL_DISPLAY, "false"); action = URLEncoder.encode(action, "UTF-8"); - closeWindowURLAction = WebUtil.appendParameterToURL(closeWindowURLAction, "nextURL", action); + if(!justCompletedActivity.isFloating()) + closeWindowURLAction = WebUtil.appendParameterToURL(closeWindowURLAction, "nextURL", action); + // If we are in the parallel frameset then we might need the nextURL, or we might need the "waiting" url. if ( justCompletedActivity.getParentActivity() != null && justCompletedActivity.getParentActivity().isParallelActivity() ) { action = getActivityMappingStrategy().getWaitingAction(); Index: lams_learning/web/close.jsp =================================================================== diff -u -r3bf7525eab3ad0de6108886543f8f507b8e20033 -rc7d9c7ec6090e62933ae91ca029b6402fa7fb974 --- lams_learning/web/close.jsp (.../close.jsp) (revision 3bf7525eab3ad0de6108886543f8f507b8e20033) +++ lams_learning/web/close.jsp (.../close.jsp) (revision c7d9c7ec6090e62933ae91ca029b6402fa7fb974) @@ -32,9 +32,11 @@ close the parent if you want to close the window. Live with two "close" messages for now. Eventually we want to display the wait for the first one, and then close on the second. For that we will need location.href = ""; --%> - } else if ( window.parent.name != "LearnerActivity" ) { + } else if ( window.parent.name != "LearnerActivity" ) { <%-- In the main learner window, so want to continue with the main progress --%> - location.href = ""; + + location.href = ""; + } } window.onload = doCloseRedirect;