fix deferred bindings

Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/8d72cc2c
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/8d72cc2c
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/8d72cc2c

Branch: refs/heads/svg-rename
Commit: 8d72cc2c86136b53b0f26e075cdc45b99f097649
Parents: 49bb73e
Author: Alex Harui <[email protected]>
Authored: Sun Jul 24 16:39:52 2016 -0700
Committer: Alex Harui <[email protected]>
Committed: Sun Jul 24 16:39:52 2016 -0700

----------------------------------------------------------------------
 .../flex/binding/ApplicationDataBinding.as      | 20 +++++++++++++++++---
 .../apache/flex/binding/ContainerDataBinding.as | 20 +++++++++++++++++---
 .../flex/binding/MXMLBeadViewDataBinding.as     | 20 +++++++++++++++++---
 .../org/apache/flex/binding/ViewDataBinding.as  | 16 +++++++++++++++-
 4 files changed, 66 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8d72cc2c/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as
 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as
index 1838cfd..2974ea5 100644
--- 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as
+++ 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ApplicationDataBinding.as
@@ -336,9 +336,23 @@ package org.apache.flex.binding
             {
                 if (_strand[p] != null)
                 {
-                    var destination:IStrand = _strand[p] as IStrand;
-                    destination.addBead(deferredBindings[p]);
-                    delete deferredBindings[p];
+                                       var destination:IStrand = _strand[p] as 
IStrand;
+                                       if (destination)
+                                               
destination.addBead(deferredBindings[p]);
+                                       else
+                                       {
+                                               var destObject:Object = 
_strand[p];
+                                               if (destObject)
+                                               {
+                                                       
deferredBindings[p].destination = destObject;
+                                                       
_strand.addBead(deferredBindings[p]);
+                                               }
+                                               else
+                                               {
+                                                       trace("unexpected 
condition in deferredBindingsHandler");
+                                               }
+                                       }
+                                       delete deferredBindings[p];
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8d72cc2c/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as
 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as
index 16eca41..751f235 100644
--- 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as
+++ 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ContainerDataBinding.as
@@ -382,9 +382,23 @@ package org.apache.flex.binding
             {
                 if (_strand[p] != null)
                 {
-                    var destination:IStrand = _strand[p] as IStrand;
-                    destination.addBead(deferredBindings[p]);
-                    delete deferredBindings[p];
+                                       var destination:IStrand = _strand[p] as 
IStrand;
+                                       if (destination)
+                                               
destination.addBead(deferredBindings[p]);
+                                       else
+                                       {
+                                               var destObject:Object = 
_strand[p];
+                                               if (destObject)
+                                               {
+                                                       
deferredBindings[p].destination = destObject;
+                                                       
_strand.addBead(deferredBindings[p]);
+                                               }
+                                               else
+                                               {
+                                                       trace("unexpected 
condition in deferredBindingsHandler");
+                                               }
+                                       }
+                                       delete deferredBindings[p];
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8d72cc2c/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as
 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as
index 7fa00d1..7ec1dac 100644
--- 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as
+++ 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/MXMLBeadViewDataBinding.as
@@ -331,9 +331,23 @@ package org.apache.flex.binding
             {
                 if (_strand[p] != null)
                 {
-                    var destination:IStrand = _strand[p] as IStrand;
-                    destination.addBead(deferredBindings[p]);
-                    delete deferredBindings[p];
+                                       var destination:IStrand = _strand[p] as 
IStrand;
+                                       if (destination)
+                                               
destination.addBead(deferredBindings[p]);
+                                       else
+                                       {
+                                               var destObject:Object = 
_strand[p];
+                                               if (destObject)
+                                               {
+                                                       
deferredBindings[p].destination = destObject;
+                                                       
_strand.addBead(deferredBindings[p]);
+                                               }
+                                               else
+                                               {
+                                                       trace("unexpected 
condition in deferredBindingsHandler");
+                                               }
+                                       }
+                                       delete deferredBindings[p];
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/8d72cc2c/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
index cad8beb..ac2cbdf 100644
--- 
a/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
+++ 
b/frameworks/projects/Binding/src/main/flex/org/apache/flex/binding/ViewDataBinding.as
@@ -331,7 +331,21 @@ package org.apache.flex.binding
                 if (_strand[p] != null)
                 {
                     var destination:IStrand = _strand[p] as IStrand;
-                    destination.addBead(deferredBindings[p]);
+                                       if (destination)
+                           destination.addBead(deferredBindings[p]);
+                                       else
+                                       {
+                                               var destObject:Object = 
_strand[p];
+                                               if (destObject)
+                                               {
+                                                       
deferredBindings[p].destination = destObject;
+                                                       
_strand.addBead(deferredBindings[p]);
+                                               }
+                                               else
+                                               {
+                                                       trace("unexpected 
condition in deferredBindingsHandler");
+                                               }
+                                       }
                     delete deferredBindings[p];
                 }
             }

Reply via email to