https://www.mediawiki.org/wiki/Special:Code/MediaWiki/113803

Revision: 113803
Author:   ialex
Date:     2012-03-14 09:52:34 +0000 (Wed, 14 Mar 2012)
Log Message:
-----------
Don't create new Revision and Title object if we can use the ones that we 
already have

Modified Paths:
--------------
    trunk/phase3/includes/diff/DifferenceEngine.php

Modified: trunk/phase3/includes/diff/DifferenceEngine.php
===================================================================
--- trunk/phase3/includes/diff/DifferenceEngine.php     2012-03-14 09:08:09 UTC 
(rev 113802)
+++ trunk/phase3/includes/diff/DifferenceEngine.php     2012-03-14 09:52:34 UTC 
(rev 113803)
@@ -1003,17 +1003,23 @@
                $this->loadRevisionIds();
 
                // Load the new revision object
-               $this->mNewRev = $this->mNewid
-                       ? Revision::newFromId( $this->mNewid )
-                       : Revision::newFromTitle( $this->getTitle() );
+               if ( $this->mNewid && ( !$this->canUseWikiPage()
+                       || $this->mNewid !== $this->getWikiPage()->getLatest() 
) )
+               {
+                       $this->mNewRev = Revision::newFromId( $this->mNewid );
+               } else {
+                       $this->mNewRev = $this->getWikiPage()->getRevision();
+                       $this->mNewPage = $this->getTitle();
+               }
 
                if ( !$this->mNewRev instanceof Revision ) {
                        return false;
                }
-
+               if ( !$this->mNewPage instanceof Title ) {
+                       $this->mNewPage = $this->mNewRev->getTitle();
+               }
                // Update the new revision ID in case it was 0 (makes life 
easier doing UI stuff)
                $this->mNewid = $this->mNewRev->getId();
-               $this->mNewPage = $this->mNewRev->getTitle();
 
                // Load the old revision object
                $this->mOldRev = false;


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to