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
