From 174f0d28dfd957ef9b671e7a2191bf4fd8ceb1b6 Mon Sep 17 00:00:00 2001 From: Fomafix Date: Tue, 15 Dec 2015 10:25:33 +0000 Subject: [PATCH] Message: Only clear message cache when set language is different Change-Id: Ic0d810b9017b2cc693282807540ddf3e4d952b9d --- includes/Message.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/includes/Message.php b/includes/Message.php index 7d05f41e86..fb6dcc5466 100644 --- a/includes/Message.php +++ b/includes/Message.php @@ -726,6 +726,8 @@ class Message implements MessageSpecifier, Serializable { * @throws MWException */ public function inLanguage( $lang ) { + $previousLanguage = $this->language; + if ( $lang instanceof Language ) { $this->language = $lang; } elseif ( is_string( $lang ) ) { @@ -740,7 +742,11 @@ class Message implements MessageSpecifier, Serializable { . "passed a String or Language object; $type given" ); } - $this->message = null; + + if ( $this->language !== $previousLanguage ) { + // The language has changed. Clear the message cache. + $this->message = null; + } $this->interface = false; return $this; } -- 2.20.1