<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -51,5 +51,34 @@ package fb.util {
       if (obj is InteractiveObject &amp;&amp; !(obj is TextArea))
         (obj as InteractiveObject).tabEnabled = false;
     }
+
+    // Checks the values of other, and merges them
+    //   into orig only if not ==.
+    public static function merge(orig:Object, other:Object):Object {
+      if (!orig || orig.constructor != other.constructor) return other;
+
+      if (orig is String ||
+          orig is Boolean ||
+          orig is Number ||
+          orig is uint ||
+          orig is int) {
+        if (orig == other) return orig;
+        else return other;
+      }
+
+      if (orig is Object) {
+        var entry:String;
+        for (entry in orig)
+          if (other[entry] &amp;&amp; orig[entry] != other[entry])
+            orig[entry] = other[entry];
+        for (entry in other)
+          if (!orig[entry] || orig[entry] != other[entry])
+            orig[entry] = other[entry];
+        return orig;
+      }
+
+      Output.assert(&quot;WTF Type is in merge?: &quot; + orig);
+      return null;
+    }
   }
 }</diff>
      <filename>fb/util/FlexUtil.as</filename>
    </modified>
    <modified>
      <diff>@@ -64,7 +64,7 @@
     import fbair.util.TimeUtil;
 
     import flash.events.MouseEvent;
-
+    import fb.util.FlexUtil;
     import mx.utils.ObjectProxy;
 
     public static const COMMENT_REMOVED:String = &quot;commentRemoved&quot;;
@@ -81,8 +81,8 @@
       Output.assert(new_data != null,
         &quot;Setting null data on CommentRenderer?: &quot; + this);
 
-      // Proxy our vars, for binding
-      super.data = new ObjectProxy(new_data);
+      // Proxy our vars, for binding, and merge too
+      super.data = FlexUtil.merge(data, new ObjectProxy(new_data));
 
       // Fetch the profile data for this user.
       ProfileCache.getProfile(data.fromid).addEventListener(</diff>
      <filename>fbair/nile/renderers/CommentRenderer.mxml</filename>
    </modified>
    <modified>
      <diff>@@ -89,15 +89,15 @@
     import fb.FBAPI;
     import fb.FBConnect;
     import fb.FBEvent;
+    import fb.util.FlexUtil;
     import fb.util.MathUtil;
     import fb.util.Output;
+    import fb.util.StringUtil;
 
     import fbair.gc.Depot;
     import fbair.gui.StylePrefs;
     import fbair.nile.Nile;
-    import fbair.nile.NileContainer;
     import fbair.util.ProfileCache;
-    import fb.util.StringUtil;
 
     import flash.events.Event;
     import flash.events.MouseEvent;
@@ -183,7 +183,6 @@
     }
 
     // Called when we want to begin commenting or end commenting.
-    // This just displays/hides the comment text area.
     private function commentClicked(event:Event):void {
       data.commentBoxActive = true;
       ufi.ufiMode = UFI.UFI_DETAIL;
@@ -213,8 +212,8 @@
         }
       }
 
-      // Ok NOW that everything is proxied, we set our data
-      super.data = new ObjectProxy(new_data);
+      // Ok NOW that everything is proxied, we set our data, by merging it
+      super.data = FlexUtil.merge(data, new ObjectProxy(new_data));
       if (!data) return;
 
       // Get name of our actor, to build message text, if not already built</diff>
      <filename>fbair/nile/renderers/NileRenderer.mxml</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2b718b2e1800343edf10d7339e3522397bf4eda8</id>
    </parent>
  </parents>
  <author>
    <name>Justin Bishop</name>
    <email>jubishop@gmail.com</email>
  </author>
  <url>http://github.com/jubishop/Facebook-for-Adobe-AIR/commit/ad7aaf8b3afe597ee205f592f30e7790c8c36050</url>
  <id>ad7aaf8b3afe597ee205f592f30e7790c8c36050</id>
  <committed-date>2009-05-14T11:11:21-07:00</committed-date>
  <authored-date>2009-05-14T11:11:21-07:00</authored-date>
  <message>committed merge. seems to work.</message>
  <tree>d98f72107493afc0e74ad20cb264e25b48dfef52</tree>
  <committer>
    <name>Justin Bishop</name>
    <email>jubishop@gmail.com</email>
  </committer>
</commit>
