? workflow-370111.patch ? workflow-370111_old.patch ? workflow-472966.patch Index: workflow.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/workflow/workflow.module,v retrieving revision 1.83.2.1 diff -u -p -r1.83.2.1 workflow.module --- workflow.module 5 Jun 2009 22:05:30 -0000 1.83.2.1 +++ workflow.module 10 Aug 2009 10:31:06 -0000 @@ -494,14 +494,16 @@ function workflow_execute_transition($no $old_sid = workflow_node_current_state($node); if ($old_sid == $sid) { // Stop if not going to a different state. - // Write comment into history though. + // Write comment into history if it is not empty. if ($comment && !$node->_workflow_scheduled_comment) { $node->workflow_stamp = time(); db_query("UPDATE {workflow_node} SET stamp = %d WHERE nid = %d", $node->workflow_stamp, $node->nid); $result = module_invoke_all('workflow', 'transition pre', $old_sid, $sid, $node); _workflow_write_history($node, $sid, $comment); + // Comment has been written, so also unset it in the node. + unset($node->workflow_comment); + $result = module_invoke_all('workflow', 'transition post', $old_sid, $sid, $node); } - $result = module_invoke_all('workflow', 'transition post', $old_sid, $sid, $node); return; } @@ -535,7 +537,9 @@ function workflow_execute_transition($no } // Change the state. _workflow_node_to_state($node, $sid, $comment); + // Assign new state to node $node->_workflow = $sid; + $node->workflow = $sid; // Register state change with watchdog. $state_name = db_result(db_query('SELECT state FROM {workflow_states} WHERE sid = %d', $sid));