? mw.patch
Index: auto_nodetitle.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/auto_nodetitle/Attic/auto_nodetitle.module,v
retrieving revision 1.20.2.1
diff -u -F^f -p -r1.20.2.1 auto_nodetitle.module
--- auto_nodetitle.module	8 Jun 2008 13:10:07 -0000	1.20.2.1
+++ auto_nodetitle.module	18 Dec 2008 23:00:19 -0000
@@ -32,12 +32,10 @@ function auto_nodetitle_form_alter(&$for
       $form['title']['#value'] = 'ant';
       $form['title']['#type'] = 'value';
       $form['title']['#required'] = FALSE;
-      $form['#submit'][] = 'auto_nodetitle_node_form_submit';
     }
     else if (auto_nodetitle_get_setting($form['#node']->type) == AUTO_NODETITLE_OPTIONAL) {
       // we will make the title optional
       $form['title']['#required'] = FALSE;
-      $form['#submit'][] = 'auto_nodetitle_node_form_submit';
     }
   }
 }
@@ -45,12 +43,10 @@ function auto_nodetitle_form_alter(&$for
 /*
  * Gets the node object, modifies the title, and updates the node in the form_state
  */
-function auto_nodetitle_node_form_submit($form, &$form_state) {
-  $setting = auto_nodetitle_get_setting($form_state['values']['type']);
-  if ($setting == AUTO_NODETITLE_ENABLED || ($setting == AUTO_NODETITLE_OPTIONAL && empty($form_state['values']['title']))) {
-    $node = node_submit($form_state['values']);
+function auto_nodetitle_nodeapi($node, $op) {
+  $setting = auto_nodetitle_get_setting($node->type);
+  if ($op == 'presave' && $setting == AUTO_NODETITLE_ENABLED || ($setting == AUTO_NODETITLE_OPTIONAL && empty($node->title))) {
     auto_nodetitle_set_title($node);
-    $form_state['values'] = (array)$node;
   }
 }
 
