fix up replaceElements for Flash

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

Branch: refs/heads/tlf
Commit: 26808731c60e3864796f54537316456cd7b9dcc2
Parents: 54a9fea
Author: Alex Harui <[email protected]>
Authored: Fri Jun 16 20:57:21 2017 -0700
Committer: Alex Harui <[email protected]>
Committed: Fri Jun 16 22:08:44 2017 -0700

----------------------------------------------------------------------
 .../org/apache/flex/text/engine/GroupElement.as   | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/26808731/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
----------------------------------------------------------------------
diff --git 
a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
 
b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
index 7d6681b..a61c97f 100644
--- 
a/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
+++ 
b/frameworks/projects/Text/src/main/flex/org/apache/flex/text/engine/GroupElement.as
@@ -67,10 +67,22 @@ package org.apache.flex.text.engine
                }
                public function replaceElements(beginIndex:int, endIndex:int, 
newElements:Vector.<ContentElement>):Vector.<ContentElement>
                {
-                       //TODO will this work correctly in Flash? -- using 
Array.concat with a Vector and Vector splice with an array.
-                       var args:Array = [beginIndex, 
endIndex-beginIndex].concat(newElements);
-                       _elements.splice.apply(_elements, args);
+            COMPILE::SWF
+            {
+                var args:Array = [beginIndex, endIndex-beginIndex];
+                // Vectors don't seen to support concat with an array/vector 
parameter
+                if (newElements)
+                {
+                    for each (var el:ContentElement in newElements)
+                        args = args.concat(el);
+                }
+            }
+            COMPILE::JS
+            {
+                       var args:Array = [beginIndex, 
endIndex-beginIndex].concat(newElements);
                        // _elements.splice(beginIndex,endIndex-beginIndex);
+            }
+            _elements.splice.apply(_elements, args);                    
                        return _elements;
                }
                public function setElements(value:Vector.<ContentElement>):void

Reply via email to