diff --git a/src/as/com/threerings/flash/DisplayUtil.as b/src/as/com/threerings/flash/DisplayUtil.as index 3f06d1c7..0aafbe8c 100644 --- a/src/as/com/threerings/flash/DisplayUtil.as +++ b/src/as/com/threerings/flash/DisplayUtil.as @@ -43,30 +43,22 @@ public class DisplayUtil container :DisplayObjectContainer, comp :Function = null) :void { var numChildren :int = container.numChildren; - - // since it's likely this function will be called frequently on the same - // DisplayObjectContainer, keep the Array around so that we're not - // re-allocating memory more often than we need to - if (_sortDisplayChildrenArray.length != numChildren) { - _sortDisplayChildrenArray = new Array(numChildren); - } - + // put all children in an array + var children :Array = new Array(numChildren); var ii :int; for (ii = 0; ii < numChildren; ii++) { - _sortDisplayChildrenArray[ii] = container.getChildAt(ii); + children[ii] = container.getChildAt(ii); } // stable sort the array - ArrayUtil.stableSort(_sortDisplayChildrenArray, comp); + ArrayUtil.stableSort(children, comp); // set their new indexes for (ii = 0; ii < numChildren; ii++) { - container.setChildIndex(DisplayObject(_sortDisplayChildrenArray[ii]), ii); + container.setChildIndex(DisplayObject(children[ii]), ii); } } - private static var _sortDisplayChildrenArray :Array = []; - /** * Call the specified function for the display object and all descendants. *