diff --git a/wp-admin/includes/revision.php b/wp-admin/includes/revision.php index 0090ab5fc5..89af3c74f9 100644 --- a/wp-admin/includes/revision.php +++ b/wp-admin/includes/revision.php @@ -179,8 +179,11 @@ function wp_prepare_revisions_for_js( $post, $selected_revision_id, $from = null // Now, grab the initial diff $compare_two_mode = is_numeric( $from ); if ( ! $compare_two_mode ) { - $from = array_keys( array_slice( $revisions, array_search( $selected_revision_id, array_keys( $revisions ) ) - 1, 1, true ) ); - $from = $from[0]; + $found = array_search( $selected_revision_id, array_keys( $revisions ) ); + if ( $found ) + $from = array_shift( array_keys( array_slice( $revisions, $found - 1, 1, true ) ) ); + else + $from = 0; } $from = absint( $from ); diff --git a/wp-admin/js/revisions.js b/wp-admin/js/revisions.js index 03dd441e58..6a8499f88e 100644 --- a/wp-admin/js/revisions.js +++ b/wp-admin/js/revisions.js @@ -155,8 +155,6 @@ window.wp = window.wp || {}; this.listenTo( this.slider, 'hovered:revision', this.updateRevision ); this.listenTo( this.slider, 'change:hovering', this.setHovering ); this.listenTo( this.slider, 'change:scrubbing', this.setScrubbing ); - - this.set({ revision: this.revisions.get( this.frame.get('to') ) }); }, @@ -754,9 +752,12 @@ window.wp = window.wp || {}; }, prepare: function() { - return _.extend( { type: 'tooltip' }, { - attributes: this.model.get('revision').toJSON() - }); + if ( _.isNull( this.model.get('revision') ) ) + return; + else + return _.extend( { type: 'tooltip' }, { + attributes: this.model.get('revision').toJSON() + }); }, render: function() {