From 682c7da095132703606c29375c00b70e6ebc297f Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Wed, 18 Jun 2014 14:12:08 -0400 Subject: [PATCH] ApiExpandTemplates: Start parse before creating frame The code added in Id12cbe4a is creating a frame from the parser object before actually starting a parse, meaning the frame ends up with no title, which causes problems for other stuff that assumes the frame *does* have a title. While we could possibly change from calling ->preprocess() to ->recursivePreprocess() to avoid re-starting the parse, there are some hooks called from ->preprocess() that it's probably best to continue calling to not break BC. Bug: 66798 Change-Id: If2ca8ab94ab81ee10f33ce1f4ee75655b7c1e680 --- includes/api/ApiExpandTemplates.php | 1 + 1 file changed, 1 insertion(+) diff --git a/includes/api/ApiExpandTemplates.php b/includes/api/ApiExpandTemplates.php index eb3f87cb56..82d303f2c0 100644 --- a/includes/api/ApiExpandTemplates.php +++ b/includes/api/ApiExpandTemplates.php @@ -89,6 +89,7 @@ class ApiExpandTemplates extends ApiBase { // if they didn't want any output except (probably) the parse tree, // then don't bother actually fully expanding it if ( $prop || $params['prop'] === null ) { + $wgParser->startExternalParse( $title_obj, $options, OT_PREPROCESS ); $frame = $wgParser->getPreprocessor()->newFrame(); $wikitext = $wgParser->preprocess( $params['text'], $title_obj, $options, null, $frame ); if ( $params['prop'] === null ) { -- 2.20.1