From 6849fde6cb5cd2dbeec66b3aec266391ca363608 Mon Sep 17 00:00:00 2001 From: Jack Phoenix Date: Wed, 11 Jun 2014 23:00:24 +0300 Subject: [PATCH] Apparently for certain (API) requests $this->getTitle() doesn't return a valid Title. Usually these are API siteinfo requests (api.php?action=query&meta=siteinfo). In that case, this code used to produce a fatal ("Call to a member function getPageLanguage() on a non-object"). Change-Id: Ifb6f99fe554890ff2719220f58d1b6c1a7a95ddc --- includes/OutputPage.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/includes/OutputPage.php b/includes/OutputPage.php index 6075d8dbc5..8fd78121db 100644 --- a/includes/OutputPage.php +++ b/includes/OutputPage.php @@ -1889,7 +1889,12 @@ class OutputPage extends ContextSource { * /w/index.php?title=Main_page&variant=zh-cn should never be served. */ function addAcceptLanguage() { - $lang = $this->getTitle()->getPageLanguage(); + $title = $this->getTitle(); + if ( !$title instanceof Title ) { + return; + } + + $lang = $title->getPageLanguage(); if ( !$this->getRequest()->getCheck( 'variant' ) && $lang->hasVariants() ) { $variants = $lang->getVariants(); $aloption = array(); -- 2.20.1