Index: exportables.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/exportables/exportables.module,v
retrieving revision 1.11
diff -u -p -r1.11 exportables.module
--- exportables.module	6 Nov 2009 16:45:26 -0000	1.11
+++ exportables.module	9 Nov 2009 18:32:29 -0000
@@ -335,7 +335,7 @@ function exportables_sync($type = '', $m
         if ($load) {
           // See if the loaded version is the same as a previouly stored in-DB default.
           $cached_default = exportables_load_object_from_cache($type, $machine);
-          if (exportables_compare_object($cached_default, $load) && !exportables_compare_object($cached_default, $item)) {
+          if ($cached_default == $load && $cached_default != $item) {
             // If so, replace it.
             $result = exportables_update_object($type, $item, $machine);
             if (!$result) {
@@ -486,17 +486,12 @@ function _exportables_get_module_array($
  * @param mixed $two
  * @return boolean
  *   Returns true if they are the same, false if not.
+ * @deprecated
+ *   Developers should use the == operator instead,
+ *   as this function simply duplicates its behavior.
  */
 function exportables_compare_object($one, $two) {
-  $equals = TRUE;
-  $one = (array) $one;
-  $two = (array) $two;
-  foreach ($one as $property => $value) {
-    if (isset($two[$property]) && $value != $two[$property]) {
-      $equals = FALSE;
-    }
-  }
-  return $equals;
+  return $one == $two;
 }
 
 /**
@@ -644,7 +639,7 @@ function exportables_delete_object($type
  */
 function exportables_object_is_overridden($type, $object, $machine) {
   $load = exportables_load_object($type, exportables_machine_load_id($type, $machine));
-  if (exportables_compare_object($object, $load)) {
+  if ($object == $load) {
     // In-database object is identical to provided default; it is not overridden.
     return FALSE;
   } else {
