From a36ddc96610bfdfbf7be4f2ac811a348f9c6216e Mon Sep 17 00:00:00 2001 From: umherirrender Date: Sat, 16 Jun 2012 10:16:28 +0200 Subject: [PATCH] Use User::getDefaultOption() instead of $wgDefaultUserOptions Using User::getDefaultOption() in User::setOption() sets preferences like 'language' to the right default value, whereas using $wgDefaultOptions sets the language to null because language is not part of $wgDefaultUserOptions, but it is part of return value of User::getDefaultOption(). This only makes problems when reusing the same user object, because when a new user object is created, the value of 'language' is correct. Change-Id: I43a32c66fc3997a4f842c63af374e84d234602b2 --- includes/User.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/includes/User.php b/includes/User.php index 5fc0773d6e..3279a389fe 100644 --- a/includes/User.php +++ b/includes/User.php @@ -2288,9 +2288,11 @@ class User { $this->loadOptions(); // Explicitly NULL values should refer to defaults - global $wgDefaultUserOptions; - if( is_null( $val ) && isset( $wgDefaultUserOptions[$oname] ) ) { - $val = $wgDefaultUserOptions[$oname]; + if( is_null( $val ) ) { + $defaultOption = self::getDefaultOption( $oname ); + if( !is_null( $defaultOption ) ) { + $val = $defaultOption; + } } $this->mOptions[$oname] = $val; -- 2.20.1