Catch another potential type of infinite recursion output initialisation.

This commit is contained in:
tjhunt
2009-07-07 04:37:12 +00:00
parent 2dcb7d0be0
commit 87b6851cf9
+10 -1
View File
@@ -788,8 +788,17 @@ class bootstrap_renderer {
public function __call($method, $arguments) {
global $OUTPUT, $PAGE;
$recursing = false;
if ($method == 'notification') {
// Catch infinite recursion cuased by debugging output during print_header.
$backtrace = debug_backtrace();
array_shift($backtrace);
array_shift($backtrace);
$recursing = is_stacktrace_during_output_init($backtrace);
}
// If lib/outputlib.php has been loaded, call it.
if (!empty($PAGE)) {
if (!empty($PAGE) && !$recursing) {
$PAGE->initialise_theme_and_output();
return call_user_func_array(array($OUTPUT, $method), $arguments);
}