Change of

PLT.12.4 EventResponse Interface
================================
The EventResponse interface extends the StateAwareResponse interface and adds the additional method setRenderParameters(EventRequest request). One thing to note is that if a portlet receives multiple processEvent calls while processing one client request the new portlet mode or window state that the portlet may have set, may be not validated by the portal between these multiple processEvent calls. This means that even if the portlet container may not throw an exception when the portlet sets a new portlet mode or window state that the portal may still not approve this portlet mode or window state change and call the portlet render method with a different portlet mode or window state.

So now the window state change will be preserved even accross multiple events invocation. Seems to be fine by the spec as shown above.