diff options
Diffstat (limited to 'phpBB/phpbb/template/twig')
| -rw-r--r-- | phpBB/phpbb/template/twig/environment.php | 17 | 
1 files changed, 16 insertions, 1 deletions
diff --git a/phpBB/phpbb/template/twig/environment.php b/phpBB/phpbb/template/twig/environment.php index 709505a75f..5660ddc3a4 100644 --- a/phpBB/phpbb/template/twig/environment.php +++ b/phpBB/phpbb/template/twig/environment.php @@ -205,8 +205,23 @@ class environment extends \Twig_Environment  	 */  	public function display($name, array $context = [])  	{ +		$level = ob_get_level();  		ob_start(); -		parent::display($name, $context); + +		try +		{ +			parent::display($name, $context); +		} +		catch (\Exception $e) +		{ +			while (ob_get_level() > $level) +			{ +				ob_end_clean(); +			} + +			throw $e; +		} +  		$output = ob_get_clean();  		echo $this->inject_assets($output);  | 
