If you want to view the diff between two given revisions, it fails by redirecting to the very node itself.

I 've found the bug is solved by replacing on diff.pages.inc around line 130 with this:

function diff_node_revisions_submit($form, &$form_state) {
  // The ids are ordered so the old revision is always on the left.
  $old_vid = min($form_state['values']['old'], $form_state['values']['new']);
  $new_vid = max($form_state['values']['old'], $form_state['values']['new']);
  $form_state['redirect'] = 'node/' . $form_state['values']['nid'] . '/revisions/view/' . $old_vid . '/' . $new_vid;
  unset($_GET['destination']);
  drupal_static_reset('drupal_get_destination');
  drupal_get_destination();
}

I'm too lazy right now for cloning the repo for attaching the patch. I leave it to you maintainers.

Comments

alan d.’s picture

Priority: Critical » Major

Some steps to replicate would be good, like how did you get to this form? $_GET['destination'] is set, so the issue is the previous step that set this.

alan d.’s picture

Status: Active » Closed (cannot reproduce)

Nearly 6 months with no feedback so closing.