? .cvsignore
? pm_email_notify.module_0.patch
? user_delete_stuff.patch
? user_delete_stuff2.patch
? user_without_messages_fix.patch
Index: privatemsg.module
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.module,v
retrieving revision 1.70.2.30.2.91.2.90
diff -u -p -r1.70.2.30.2.91.2.90 privatemsg.module
--- privatemsg.module	8 Nov 2009 10:03:31 -0000	1.70.2.30.2.91.2.90
+++ privatemsg.module	9 Nov 2009 15:09:52 -0000
@@ -1247,8 +1247,10 @@ function privatemsg_user($op, &$edit, &$
       // Delete messages the user wrote.
       db_query('DELETE FROM {pm_message} WHERE author = %d', $account->uid);
 
-      // Delete recipient entries in {pm_index} of the messages the user wrote.
-      db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids);
+      if (!empty($mids)) {
+        // Delete recipient entries in {pm_index} of the messages the user wrote.
+        db_query('DELETE FROM {pm_index} WHERE mid IN (' . db_placeholders($mids) . ')', $mids);
+      }
 
       // Delete recipient entries of that user.
       db_query('DELETE FROM {pm_index} WHERE uid = %d', $account->uid);
Index: privatemsg.test
===================================================================
RCS file: /cvs/drupal/contributions/modules/privatemsg/privatemsg.test,v
retrieving revision 1.2.2.8
diff -u -p -r1.2.2.8 privatemsg.test
--- privatemsg.test	6 Nov 2009 13:06:26 -0000	1.2.2.8
+++ privatemsg.test	9 Nov 2009 15:09:52 -0000
@@ -324,6 +324,7 @@ class PrivatemsgTestCase extends DrupalW
     $recipient = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg', 'delete privatemsg'));
     $recipient2 = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg'));
     $admin = $this->drupalCreateUser(array('write privatemsg', 'read privatemsg', 'delete privatemsg', 'read all private messages'));
+    $dummy = $this->drupalCreateUser();
 
     // Create texts.
     $subject = $this->randomName(20);
@@ -408,6 +409,9 @@ class PrivatemsgTestCase extends DrupalW
     $this->drupalGet('messages/view/' . $return['message']['thread_id']);
     $this->assertText($body1, 'First message is still displayed');
     $this->assertNoText($edit['body'], t('Reply of deleted user is not displayed anymore'));
+
+    // Test if deleting a user does not produce any errors.
+    user_delete(array(), $dummy);
   }
 
   /**
