Not really happy with the fix, but it works. With the new window draw method we are no longer storing the 3D viewport in 4 buffers, by having the GPU viewport function directly as the 3rd buffer. This means we need to draw the action zones into it, and so we need to keep the framebuffer bound a little longer.