Don't call $wgOut->disable() from wfHttpError if $wgOut isn't set up yet
authorBrad Jorsch <bjorsch@wikimedia.org>
Mon, 12 Jan 2015 21:46:18 +0000 (16:46 -0500)
committerBrad Jorsch <bjorsch@wikimedia.org>
Mon, 12 Jan 2015 21:48:40 +0000 (16:48 -0500)
For example, if the database cannot be connected to, the language is
something other than 'en', and the l10n cache is LCStoreDB, then the
call to Language::factory() in Setup.php line 604 will do it when it's
trying to get the fallback list.

Bug: T86398
Change-Id: Ia0e9ea440dcc4c8ab7bab1f33802aeff487eb3f0

includes/GlobalFunctions.php

index a1c39fb..9518182 100644 (file)
@@ -2147,10 +2147,12 @@ function wfVarDump( $var ) {
  */
 function wfHttpError( $code, $label, $desc ) {
        global $wgOut;
-       $wgOut->disable();
        header( "HTTP/1.0 $code $label" );
        header( "Status: $code $label" );
-       $wgOut->sendCacheControl();
+       if ( $wgOut ) {
+               $wgOut->disable();
+               $wgOut->sendCacheControl();
+       }
 
        header( 'Content-type: text/html; charset=utf-8' );
        print "<!doctype html>" .