follow-up r60832: make sure $t always ends up a Title.
authorMark A. Hershberger <mah@users.mediawiki.org>
Wed, 13 Jan 2010 02:41:58 +0000 (02:41 +0000)
committerMark A. Hershberger <mah@users.mediawiki.org>
Wed, 13 Jan 2010 02:41:58 +0000 (02:41 +0000)
includes/parser/Parser.php

index f1ef4fb..39cbed4 100644 (file)
@@ -258,15 +258,18 @@ class Parser
         * Set the context title
         */
        function setTitle( $t ) {
-               if ( !$t || $t instanceof FakeTitle ) {
-                       $t = Title::newFromText( 'NO TITLE' );
-               }
-               // If we still don't have a Title object, make sure we can
-               // convert whatever we've been passed to a string.
-               if ( !$t instanceOf Title && is_string( "$t" ) ) {
+               if ( $t && !($t instanceOf FakeTitle)
+                        && !($t instanceOf Title)
+                        && is_string( "$t" ) ) {
+                       // If don't have a Title object, make sure we can convert
+                       // whatever we've been passed to a string.
                        $t = Title::newFromText( "$t" );
                }
 
+               if ( !($t instanceOf Title) ) {
+                       $t = Title::newFromText( 'NO TITLE' );
+               }
+
                if ( strval( $t->getFragment() ) !== '' ) {
                        # Strip the fragment to avoid various odd effects
                        $this->mTitle = clone $t;