When calling renderLayout with an explicit view the renderer plugin
stashes that view in instance.explicitView. I believe this is so that
you may do a simple renderView() inside your layout and it will retain
the view you passed into renderLayout.
The problem occurs when you call renderView( view="a/view/path" )
inside that explicit view. The view you pass into the second
renderView will still be overwritten with the explict view resulting
in an infinite loop.
Yep, don't use the renderLayout explicit if renderView has it passed
in. But I also think that it should clear the instance.explicitView
after it uses it for the renderView so it doesn't linger on. My quick
fix was to change system/plugins/Renderer.cfc:107 to: