? privatemsg_delete_confirm_redirect.patch
Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.70.2.30.2.91.2.60
diff -u -r1.70.2.30.2.91.2.60 privatemsg.module
--- privatemsg.module	17 Jul 2009 00:32:05 -0000	1.70.2.30.2.91.2.60
+++ privatemsg.module	18 Jul 2009 20:28:17 -0000
@@ -437,7 +437,7 @@
   drupal_alter('privatemsg_message_view', $vars);
 
   $vars['message_actions'] = !empty($vars['message_actions']) ? theme('links', $vars['message_actions'], array('class' => 'message-actions')) : '';
-  
+
   $vars['anchors'] = '';
   foreach ($vars['message_anchors'] as $anchor) {
     $vars['anchors'].= '<a name="' . $anchor . '"></a>';
@@ -1122,13 +1122,16 @@
 function privatemsg_delete($form_state, $pmid) {
   global $user;
 
-  $form['pmid'] = array(
+  $message = _privatemsg_load($pmid);
+//drupal_set_message('<pre>'. print_r($message, 1 ) . '</pre>');
+  $form['message'] = array(
     '#type' => 'value',
-    '#value' => $pmid,
+    '#value' => $message,
   );
+
   return confirm_form($form,
     t('Are you sure you want to delete'),
-    isset($_GET['destination']) ? $_GET['destination'] : 'messages/view/'. $pmid,
+    isset($_GET['destination']) ? $_GET['destination'] : 'messages/view/'. $message['thread_id'],
     t('This action cannot be undone.'),
     t('Delete'),
     t('Cancel')
@@ -1169,10 +1172,12 @@
 
 function privatemsg_delete_submit($form, &$form_state) {
   if ($form_state['values']['confirm']) {
-    privatemsg_message_change_delete($form_state['values']['pmid'], 1);
+    privatemsg_message_change_delete($form_state['values']['message']['mid'], 1);
     drupal_set_message(t('Message has been deleted'));
   }
-  $form_state['redirect'] = 'messages';
+//    drupal_set_message('<pre>'. print_r($form_state, 1 ) . '</pre>');
+//  $form_state['rebuild'] = true;
+  $form_state['redirect'] = 'messages/view/'.$form_state['values']['message']['thread_id'];
 }
 
 /**
