listen for more than just sizeChanged.  When one dimension is locked down and 
the other isn't, some fancy layout may not send a sizeChanged


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

Branch: refs/heads/develop
Commit: 417fc3cff64e7daa6833482bc26582ba9d4fed7e
Parents: 4dbb402
Author: Alex Harui <aha...@apache.org>
Authored: Thu Aug 27 22:55:14 2015 -0700
Committer: Alex Harui <aha...@apache.org>
Committed: Thu Aug 27 22:55:14 2015 -0700

----------------------------------------------------------------------
 .../HTML/as/src/org/apache/flex/html/beads/ContainerView.as  | 6 +++++-
 .../HTML/js/src/org/apache/flex/html/beads/ContainerView.js  | 8 ++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/417fc3cf/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
index e3b6a1e..09aac8f 100644
--- 
a/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
+++ 
b/frameworks/projects/HTML/as/src/org/apache/flex/html/beads/ContainerView.as
@@ -191,6 +191,8 @@ package org.apache.flex.html.beads
                        else {
                                // otherwise, wait until the unknown sizes have 
been set and then finish
                                host.addEventListener("sizeChanged", 
deferredSizeHandler);
+                host.addEventListener("widthChanged", deferredSizeHandler);
+                host.addEventListener("heightChanged", deferredSizeHandler);
                        }
                }
                
@@ -205,7 +207,9 @@ package org.apache.flex.html.beads
                 */
                private function deferredSizeHandler(event:Event):void
                {
-                       host.removeEventListener(event.type, 
deferredSizeHandler);
+            host.removeEventListener("sizeChanged", deferredSizeHandler);
+            host.removeEventListener("widthChanged", deferredSizeHandler);
+            host.removeEventListener("heightChanged", deferredSizeHandler);
                        completeSetup();
                        
                        var num:Number = contentView.numElements;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/417fc3cf/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/ContainerView.js
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/ContainerView.js 
b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/ContainerView.js
index 91a7e51..6e60e27 100644
--- 
a/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/ContainerView.js
+++ 
b/frameworks/projects/HTML/js/src/org/apache/flex/html/beads/ContainerView.js
@@ -99,6 +99,10 @@ org.apache.flex.html.beads.ContainerView.
    else {
      this._strand.addEventListener('sizeChanged',
        org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
+     this._strand.addEventListener('widthChanged',
+       org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
+     this._strand.addEventListener('heightChanged',
+       org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
    }
 };
 
@@ -110,6 +114,10 @@ org.apache.flex.html.beads.ContainerView.
     prototype.deferredSizeHandler = function(event) {
     this._strand.removeEventListener('sizeChanged',
       org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
+    this._strand.removeEventListener('widthChanged',
+      org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
+    this._strand.removeEventListener('heightChanged',
+      org.apache.flex.utils.Language.closure(this.deferredSizeHandler, this, 
'deferredSizeHandler'));
     this.completeSetup();
 
     var num = this.contentView.numElements;

Reply via email to