From f49fa023290c4c4253e114cbffa37113bbb1bdf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juraci=20Paix=C3=A3o=20Kr=C3=B6hling?= Date: Tue, 11 Nov 2014 14:03:21 +0100 Subject: [PATCH] PBR-570 BZ1162145 - Check for committed responses before resetting the buffer. --- .../context/exception/PortletExceptionHandler.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/impl/src/main/java/org/jboss/portletbridge/context/exception/PortletExceptionHandler.java b/core/impl/src/main/java/org/jboss/portletbridge/context/exception/PortletExceptionHandler.java index a1f2fd2..6c42cbb 100644 --- a/core/impl/src/main/java/org/jboss/portletbridge/context/exception/PortletExceptionHandler.java +++ b/core/impl/src/main/java/org/jboss/portletbridge/context/exception/PortletExceptionHandler.java @@ -79,10 +79,13 @@ public void handle() throws FacesException { // this would happen if there's an error on the // errorView and would cause an infinite loop if (!errorView.equals(bridgeContext.getRedirectViewId())) { - fc.getExternalContext().responseReset(); - fc.getExternalContext().setResponseBufferSize(-1); + // browser has seen already some content, so, we can't + // reset the buffer/response + if (!fc.getExternalContext().isResponseCommitted()) { + fc.getExternalContext().responseReset(); + fc.getExternalContext().setResponseBufferSize(-1); + } bridgeContext.setRedirectViewId(errorView); - bridgeContext.setRenderRedirect(true); } } else {