? cck-diff-1.patch
Index: includes/content.diff.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/cck/includes/Attic/content.diff.inc,v
retrieving revision 1.2.2.5
diff -u -p -r1.2.2.5 content.diff.inc
--- includes/content.diff.inc	8 Dec 2008 01:16:29 -0000	1.2.2.5
+++ includes/content.diff.inc	3 Aug 2009 16:44:11 -0000
@@ -15,9 +15,13 @@ function content_diff(&$old_node, &$new_
   $result = array();
   // Prevent against invalid 'nodes' built by broken 3rd party code.
   if (isset($new_node->type)) {
+    $content_permissions = module_exists('content_permissions');
     $type = content_types($new_node->type);
     $field_types = _content_field_types();
     foreach ($type['fields'] as $field) {
+      if ($content_permissions && !user_access('view '. $field['field_name'])) {
+        continue;
+      }
       $function = $field_types[$field['type']]['module'] . '_content_diff_values';
       $function = function_exists($function) ? $function : 'content_content_diff_values';
       $old_values = array();
Index: includes/content.rules.inc

