TS parsing: simplify NALU to video TAG conversion

--- src/org/mangui/HLS/muxing/TS.as
+++ src/org/mangui/HLS/muxing/TS.as
@@ -239,6 +239,7 @@
             var sps : ByteArray = null;
             var pps : ByteArray = null;
             var overflow : Number;
+            var tag:Tag;
             var units : Vector.<VideoFrame>;
             for (var i : Number = 0; i < _videoPES.length; i++) {
                 // Parse the PES headers and NAL units.
@@ -253,8 +254,8 @@
                 units = AVC.getNALU(_videoPES[i].data, _videoPES[i].payload);
                 // If there's no NAL unit, push all data in the previous tag, if any exists
                 if (!units.length) {
-                    if (_videoTags.length > 0) {
-                        _videoTags[_videoTags.length - 1].push(_videoPES[i].data, _videoPES[i].payload, _videoPES[i].data.length - _videoPES[i].payload);
+                    if (tag) {
+                        tag.push(_videoPES[i].data, _videoPES[i].payload, _videoPES[i].data.length - _videoPES[i].payload);
                     } else {
                         Log.warn("no NAL unit found in first video PES packet of segment, discarding data. possible segmentation issue ?");
                     }
@@ -262,17 +263,17 @@
                 }
                 // If NAL units are offset, push preceding data into the previous tag.
                 overflow = units[0].start - units[0].header - _videoPES[i].payload;
-                if (overflow && _videoTags.length > 0) {
-                    _videoTags[_videoTags.length - 1].push(_videoPES[i].data, _videoPES[i].payload, overflow);
-                }
-                _videoTags.push(new Tag(Tag.AVC_NALU, _videoPES[i].pts, _videoPES[i].dts, false));
+                if (overflow && tag) {
+                    tag.push(_videoPES[i].data, _videoPES[i].payload, overflow);
+                }
+                tag = new Tag(Tag.AVC_NALU, _videoPES[i].pts, _videoPES[i].dts, false);
                 // Only push NAL units 1 to 5 into tag.
                 for (var j : Number = 0; j < units.length; j++) {
                     if (units[j].type < 6) {
-                        _videoTags[_videoTags.length - 1].push(_videoPES[i].data, units[j].start, units[j].length);
+                        tag.push(_videoPES[i].data, units[j].start, units[j].length);
                         // Unit type 5 indicates a keyframe.
                         if (units[j].type == 5) {
-                            _videoTags[_videoTags.length - 1].keyframe = true;
+                            tag.keyframe = true;
                         }
                     } else if (units[j].type == 7) {
                         sps_found = true;
@@ -295,6 +296,7 @@
                 if (_avcc.length == 0 && sps_found && pps_found) {
                     _avcc = AVC.getAVCC(sps, pps);
                 }
+                _videoTags.push(tag);
             }
         };


Added error log when decryption fails. And yes, I know I'm commiting too often.

--- src/org/mangui/hls/utils/AES.as
+++ src/org/mangui/hls/utils/AES.as
@@ -86,6 +86,9 @@
 					decrypted = _decryptChunk();
 				} catch (e:Error) {
 					// If _decryptChunk fails, give up and move on
+					CONFIG::LOGGING {
+						Log.error("Decryption error: "+e.message);
+					}
 					decrypted = false;
 				}
             // dont spend more than 10ms in the decrypt timer to avoid blocking/freezing video


- change: URL#scheme now returns the empty string instead of null if no scheme is set

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@823 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/data/URL.as
+++ src/reprise/data/URL.as
@@ -54,7 +54,7 @@

 		public function scheme() : String
 		{
-			return m_scheme ? m_scheme + '://' : null;
+			return m_scheme ? m_scheme + '://' : '';
 		}

 		public function setScheme(val:String) : void


accessibility Signed-off-by:delfi <delfi@segonquart.localhost>

accessibility
Signed-off-by:delfi <7a08856f93580430fa9b7f49ec8380a13169718b@segonquart.localhost>

--- main.as
+++ main.as
@@ -21,9 +21,9 @@
 {

 if (_accProps == undefined)
-{
-eshop._accProps = new Object();
-}
+        {
+        eshop._accProps:Object = new Object();
+                }

 eshop._accProps.name = "Talking Wear";
@@ -33,7 +33,7 @@
         // TODO next items

         Accessibility.updateProperties();
-}
+        }

 //-------------------------------
@@ -41,24 +41,24 @@
 //-------------------------------

 function initTWApp ():Void
-{
-if (MovieClip (root).currentFrame == 1)
-{
-#include "as/main/frame1.as"
-}
-if (MovieClip (root).currentFrame == 2)
-{
-#include "as/main/frame2.as"
-}
-if (MovieClip (root).currentFrame == 3)
-{
-#include "as/main/frame3.as"
-}
-if (MovieClip (root).currentFrame == 4)
-{
-#include "as/main/frame4.as"
-}
-}
+        {
+        if (MovieClip (root).currentFrame == 1)
+                {
+                #include "as/main/frame1.as"
+                        }
+        if (MovieClip (root).currentFrame == 2)
+                {
+                #include "as/main/frame2.as"
+                        }
+        if (MovieClip (root).currentFrame == 3)
+                {
+                #include "as/main/frame3.as"
+                        }
+        if (MovieClip (root).currentFrame == 4)
+                {
+                #include "as/main/frame4.as"
+                        }
+        }

 initTWApp ();


Added support for multiline strings. (Fixes #9)

--- src/justpinegames/Logi/Console.as
+++ src/justpinegames/Logi/Console.as
@@ -247,15 +247,21 @@
         {
             if (_consoleSettings.traceEnabled) trace(message);

-            var labelDisplay: String = (new Date()).toLocaleTimeString() + ": " + message;
-
-            _list.dataProvider.push({label: labelDisplay, data: message});
-
-            // TODO use the correct API, currently there is a problem with List max vertical position. A bug in foxhole?
-            //_list.verticalScrollPosition = Math.max(_list.dataProvider.length * 20 - _list.height, 0);
+            var prefix:String = (new Date()).toLocaleTimeString() + ": ";
+
+            var messageParts:Array = message.split("\n");
+
+            for each (var messagePart:String in messageParts)
+            {
+                showInHud(messagePart);
+
+                var labelDisplay:String = prefix + messagePart;
+                _list.dataProvider.push({label: labelDisplay, data: messagePart});
+
+                // after the first iteration set prefix to empty string:
+                prefix = "";
+            }
             _list.scrollToDisplayIndex(_list.dataProvider.length - 1);
-
-            showInHud(message);
         }

         private function showInHud(message:String):void


Prefer () for cases.

Prefer () for cases.

	* build-aux/urbi.as: here.

--- build-aux/urbi.as
+++ build-aux/urbi.as
@@ -106,18 +106,18 @@
 find_urbi_server ()
 {
   case $URBI_SERVER in
-    '')
+    ('')
        # If URBI_SERVER is not defined, try to find one.  If we are in
        # $top_builddir/tests/TEST.dir, then look in $top_builddir/src.
        URBI_SERVER=$(find_prog "urbi-server" \
 			       "$top_builddir/src${PATH_SEPARATOR}.")
        ;;

-    *[[\\/]]* ) # A path, relative or absolute.  Make it absolute.
+    (*[[\\/]]*) # A path, relative or absolute.  Make it absolute.
        URBI_SERVER=$(absolute "$URBI_SERVER")
        ;;

-    *) # A simple name, most certainly urbi-server.
+    (*) # A simple name, most certainly urbi-server.
        # Find it in the PATH.
        local res
        res=$(find_prog "$URBI_SERVER" "$PATH")


Fix astar bug

Fix astar bug

--- src/ageofai/map/astar/AStar.as
+++ src/ageofai/map/astar/AStar.as
@@ -57,12 +57,23 @@

 			var solved:Boolean = false;

-			if (!goal.equals(start) && !map[goal.x - 1][goal.y].walkable && !map[goal.x - 1][goal.y - 1].walkable &&
-					!map[goal.x][goal.y - 1].walkable && !map[goal.x + 1][goal.y - 1].walkable &&
-					!map[goal.x + 1][goal.y].walkable && !map[goal.x + 1][goal.y + 1].walkable &&
-					!map[goal.x][goal.y + 1].walkable && !map[goal.x - 1][goal.y + 1].walkable) {
-
-				return null;
+			if (!goal.equals(start)) {
+                var accessible:Boolean;
+                for (i = goal.x - 1; i != goal.x + 1; i++)
+                {
+                    for (var j:int = goal.y - 1; j != goal.y + 1; j++)
+                    {
+                        if (i == goal.x && j == goal.y) continue;
+                        if (i >= 0 && j >= 0 && i < this.width && j < this.height && this.map[i][j].walkable)
+                        {
+                            accessible = true;
+                            break;
+                        }
+                    }
+                    if (accessible) break;
+                }
+
+                if (!accessible) return null;
 			}
 			while (!solved) {
 				open.sort(sortVector);


attempt to prevent XSS attack through file parameter

--- src/flash/FlashMediaElement.as
+++ src/flash/FlashMediaElement.as
@@ -97,7 +97,7 @@

 			// get parameters
 			var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
-			_mediaUrl = (params['file'] != undefined) ? String(params['file']) : "";
+			_mediaUrl = (params['file'] != undefined) ? String(params['file']).replace("\\\"","") : ""; // replacing quotes is for XSS
 			_autoplay = (params['autoplay'] != undefined) ? (String(params['autoplay']) == "true") : false;
 			_debug = (params['debug'] != undefined) ? (String(params['debug']) == "true") : false;
 			_isVideo = (params['isvideo'] != undefined) ? ((String(params['isvideo']) == "false") ? false : true  ) : true;


Execute removal of scripted entities inside a scope block so that the array shouldn't keep the entities alive.

--- Bin/Data/Scripts/NinjaSnowWar.as
+++ Bin/Data/Scripts/NinjaSnowWar.as
@@ -171,9 +171,11 @@
 void startGame()
 {
     // Clear the scene of all existing scripted entities
-    array<Entity@> scriptedEntities = gameScene.getScriptedEntities();
-    for (uint i = 0; i < scriptedEntities.length(); ++i)
-        gameScene.removeEntity(scriptedEntities[i]);
+    {
+        array<Entity@> scriptedEntities = gameScene.getScriptedEntities();
+        for (uint i = 0; i < scriptedEntities.length(); ++i)
+            gameScene.removeEntity(scriptedEntities[i]);
+    }

     Entity@ playerEntity = gameScene.createEntity("Player");
     Ninja@ playerNinja = cast<Ninja>(playerEntity.createScriptObject("Scripts/NinjaSnowWar.as", "Ninja"));


Issue 46; Support transformation arguments using spaces to seperate arguments, from r193 from James.


PTS/DTS timestamp unwrapping logic.

PTS/DTS timestamp unwrapping logic.


Transferred from the Adobe Open Source Subversion Repository

Revision: 14869
Author:   cframpto@adobe.com
Date:     2010-03-19T02:24:27.434644Z

Log Message:
-----------
Merge mirroring changes 14728-14730, 14772-14775, 14806 from 4.x to trunk.

QE notes:
Doc notes:
Bugs:
Reviewer:
Tests run: checkintests
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UIFTETextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airspark/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/CheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1267972 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/ColorPicker.as
+++ frameworks/projects/mx/src/mx/controls/ColorPicker.as
@@ -23,6 +23,7 @@
 import flash.utils.getTimer;
 import mx.controls.colorPickerClasses.SwatchPanel;
 import mx.controls.colorPickerClasses.WebSafePalette;
+import mx.core.LayoutDirection;
 import mx.core.UIComponent;
 import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
@@ -1224,7 +1225,7 @@
             getDropdown();

             // Find global position for the dropdown
-            var point:Point = new Point(layoutDirection == "rtl" ?
+            var point:Point = new Point(layoutDirection == LayoutDirection.RTL ?
                                         dropdownSwatch.getExplicitOrMeasuredWidth() : 0,
                                         0);
             point = localToGlobal(point);


Transferred from the Adobe Open Source Subversion Repository

Revision: 23243
Author:   cframpto@adobe.com
Date:     2011-12-20T00:59:57.384047Z

Log Message:
-----------
In frameworks, remove Adobe headers from all files except xml/mxml file types.  There are also a few .txt files that are license files that I didn't touch yet.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1287969 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/utils/MaskUtil.as
+++ frameworks/projects/spark/src/spark/utils/MaskUtil.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

 package spark.utils
 {


FileReader, Flash: Do not fire loadstart from the shim.

--- src/flash/src/com/FileReader.as
+++ src/flash/src/com/FileReader.as
@@ -113,7 +113,8 @@

 			this.readyState = FileReader.LOADING;

-			dispatchEvent(new OProgressEvent(OProgressEvent.LOADSTART));
+			// loadstart is triggered in JS by the component itself
+			// dispatchEvent(new OProgressEvent(OProgressEvent.LOADSTART));

 			_ba.clear();
 			_index = 0;


You can write arrays and dictionarys

You can write arrays and dictionarys

--- src/Modi/CommonSerializator.as
+++ src/Modi/CommonSerializator.as
@@ -73,13 +73,11 @@

         public function writeDictionary(name:String, object:Dictionary):void
         {
-            trace("Not sure that write dictionary works...");
             writeToTop(name, object);
         }

         public function writeArray(name:String, object:Array):void
         {
-            trace("Not sure that write array works...");
             writeToTop(name, object);
         }


add explicit cast in place of lost implicit cast

--- WeaveJS/src/weavejs/util/WeavePromise.as
+++ WeaveJS/src/weavejs/util/WeavePromise.as
@@ -113,7 +113,7 @@
 			}

 			this.result = undefined;
-			this.error = error;
+			this.error = error as Object;

 			callHandlers();


Removing trace

Removing trace

--- src/heartattacks/doodads/Girl.as
+++ src/heartattacks/doodads/Girl.as
@@ -54,7 +54,6 @@
 		{
 			this.timeSinceLastMove += 1 / 60;
 			var bonusModifier:Number = 1 - .1 * this.percentageToBoy;
-			trace(bonusModifier);
 			if (this.timeSinceLastMove >= this.TimeTillNextMove * bonusModifier)
 			{
 				var column:int = this.pickNewColumn();


- set validate method to public, to allow validation from outside of the form

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@765 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/controls/html/Form.as
+++ src/reprise/controls/html/Form.as
@@ -139,18 +139,7 @@
 			removeCSSPseudoClass('error');
 		}

-
-
-		/***************************************************************************
-		*                             protected methods                            *
-		***************************************************************************/
-		protected override function initialize():void
-		{
-			super.initialize();
-			if (stage) stage.addEventListener(KeyboardEvent.KEY_DOWN, self_keyDown);
-		}
-
-		protected function validate():void
+		public function validate():void
 		{
 			if (m_validationDisabled)
 			{
@@ -194,6 +183,17 @@
 			}
 		}

+
+
+		/***************************************************************************
+		*                             protected methods                            *
+		***************************************************************************/
+		protected override function initialize():void
+		{
+			super.initialize();
+			if (stage) stage.addEventListener(KeyboardEvent.KEY_DOWN, self_keyDown);
+		}
+
 		protected function validation_complete(e:CommandEvent):void
 		{
 			if (!e.success)


Cleanup

Cleanup

--- unittests/TestArgumentSchemes.as
+++ unittests/TestArgumentSchemes.as
@@ -3,10 +3,8 @@
 	public class TestArgumentSchemes
 	{
 		import logic.ArgumentSchemes;
-
-		import org.flexunit.Assert;
+				import org.flexunit.Assert;

-		private var count:int = 0;
 		private var argSchemes:ArgumentSchemes;
 		[Before]
 		public function setUp():void
@@ -17,7 +15,6 @@
 		[After]
 		public function tearDown():void
 		{
-			count = 0;
 		}

 		[BeforeClass]


[VectorCommon] SequenceProvider notices changes in circular and name

git-svn-id: adbdea8fc1759bd16b0eaf24a244a7e5f870a654@271 fe3f0490-d73e-11de-a956-c71e7d3a9d2f

--- VectorCommon/src/org/jbei/lib/SequenceProvider.as
+++ VectorCommon/src/org/jbei/lib/SequenceProvider.as
@@ -71,7 +71,9 @@

         public function set name(value:String):void
         {
+            manualUpdateStart();
             _name = value;
+            manualUpdateEnd();
         }

         /**
@@ -84,7 +86,9 @@

         public function set circular(value:Boolean):void
         {
+            manualUpdateStart();
             _circular = value;
+            manualUpdateEnd();
         }

         /**


Fixed 1-frame makeUI glitch

Fixed 1-frame makeUI glitch

--- src/LevelStates/LevelState.as
+++ src/LevelStates/LevelState.as
@@ -153,7 +153,7 @@

 			new ButtonManager;
 			UIChanged = true;
-			add(new MenuBar(60));
+			upperLayer.add(new MenuBar(60));
 			addUIActives();
 			makeViewButtons();

@@ -166,6 +166,8 @@
 			makeEditButtons();
 			makeViewLists();
 			makeEditLists();
+
+			checkMenuState();
 		}

 		private function addUIActives():void {


organize imports

organize imports

--- WeaveJS/src/weavejs/WeaveAPI.as
+++ WeaveJS/src/weavejs/WeaveAPI.as
@@ -16,8 +16,6 @@
 package weavejs
 {
 	import weavejs.api.core.IClassRegistry;
-	import weavejs.api.core.ILinkableHashMap;
-	import weavejs.api.core.ILinkableObject;
 	import weavejs.api.core.ILocaleManager;
 	import weavejs.api.core.IProgressIndicator;
 	import weavejs.api.core.ISessionManager;


- bugfix: CSSProperties containing percentages weren't properly cloned

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@871 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/css/CSSProperty.as
+++ src/reprise/css/CSSProperty.as
@@ -164,6 +164,10 @@
 		reprise function setSpecifiedValue(value : *) : void
 		{
 			m_specifiedValue = value;
+			if (m_specifiedValue == 150)
+			{
+				m_specifiedValue;
+			}
 			if (value == 'auto')
 			{
 				m_computedValue = 0;
@@ -244,7 +248,8 @@
 			prop.m_isRelativeValue = m_isRelativeValue;
 			if (m_isRelativeValue)
 			{
-				prop.m_calculationResultsCache = {};
+				prop.m_calculationResultsCache = m_calculationResultsCache;
+				prop.m_calculation = m_calculation;
 			}
 			prop.m_cssFile = m_cssFile;


- change: ArrayUtil.shuffle now implements a shuffling algorithm that's guaranteed to be efficient and unbiased
- change: ArrayUtil.shuffle now shuffles in-place instead of returning a new Array

git-svn-id: e38e7cdd6ace00d8230583a2d3b43e9a55f5c011@789 bc4816be-ef27-423a-9c4d-fc420be121a2

--- src/reprise/utils/ArrayUtil.as
+++ src/reprise/utils/ArrayUtil.as
@@ -39,16 +39,21 @@
 			return arr.indexOf(obj) > -1;
 		}

-
-		public static function shuffle(arr:Array) : Array
+		/**
+		 * Shuffles the array in place
+		 *
+		 * @see http://en.wikipedia.org/wiki/Fisher-Yates_shuffle
+		 */
+		public static function shuffle(arr:Array) : void
 		{
-			// aye, uglyness!
-			return arr.sort(
-				function(a:Object, b:Object) : int
-				{
-					return (Math.random() < .5) ? -1 : 1;
-				},
-				Array.NUMERIC);
+			var i : int = arr.length;
+			while (i > 1)
+	        {
+	        	var swapIndex : int = Math.random() * i--;
+	            var temp : Object = arr[i];
+	            arr[i] = arr[swapIndex];
+	            arr[swapIndex] = temp;
+	        }
 		}

 		public static function compareArrays(


add robustness

add robustness

--- src/org/mangui/HLS/muxing/TS.as
+++ src/org/mangui/HLS/muxing/TS.as
@@ -272,7 +272,7 @@
 				}
 				// If NAL units are offset, push preceding data into the previous tag.
 				overflow = units[0].start - units[0].header - _videoPES[i].payload;
-				if(overflow) {
+				if(overflow && _videoTags.length >0) {
 					_videoTags[_videoTags.length-1].push(_videoPES[i].data,_videoPES[i].payload,overflow);
 				}
 				_videoTags.push(new Tag(Tag.AVC_NALU,_videoPES[i].pts,_videoPES[i].dts,false));


fix coding style

fix coding style

--- src/aerys/minko/scene/node/Scene.as
+++ src/aerys/minko/scene/node/Scene.as
@@ -39,7 +39,7 @@
 		private var _renderingEnd	: Signal;
 		private var _exitFrame		: Signal;

-		private var _assets				: AssetsLibrary;
+		private var _assets			: AssetsLibrary;

 		public function get assets() : AssetsLibrary
 		{


Implemented Collections.shuffle().

Implemented Collections.shuffle().

git-svn-id: a3e1eb16dde062992de22c830ed8045c8013209a@118 c613c5cb-e716-0410-b11b-feb51c14d237

--- src/as/com/threerings/parlor/card/data/Deck.as
+++ src/as/com/threerings/parlor/card/data/Deck.as
@@ -23,6 +23,7 @@

 import mx.collections.ArrayCollection;

+import com.threerings.util.Collections;
 import com.threerings.util.StreamableArrayList;

 /**
@@ -102,7 +103,7 @@
      */
     public function shuffle () :void
     {
-        // TODO: Collections.shuffle(this);
+        Collections.shuffle(this);
     }
 }
 }


give non-zero parts a minimum size

give non-zero parts a minimum size

--- src/battlecode/client/viewer/render/DrawMap.as
+++ src/battlecode/client/viewer/render/DrawMap.as
@@ -210,11 +210,12 @@
                     if (tile.getType() == TerrainTile.VOID) {
                         continue;
                     }
-                    var density:Number = Math.min(1, parts[i][j] / 200);
-                    if (density <= 0) {
+
+                    if (parts[i][j] <= 0) {
                         continue;
                     }

+                    var density:Number = Math.max(.25, Math.min(1, parts[i][j] / 200));
                     this.partsCanvas.graphics.beginFill(0xCC33CC, 0.7);
                     this.partsCanvas.graphics.drawCircle(j * g + g / 2, i * g + g / 2, density * g / 2);
                     this.partsCanvas.graphics.endFill();


formatting & whitespace

formatting & whitespace

--- exporter/src/main/as/flump/SwfTexture.as
+++ exporter/src/main/as/flump/SwfTexture.as
@@ -2,6 +2,8 @@
 // Flump - Copyright 2013 Flump Authors

 package flump {
+
+import com.threerings.display.DisplayUtil;

 import flash.display.Bitmap;
 import flash.display.BitmapData;
@@ -14,14 +16,11 @@
 import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flump.xfl.XflMovie;

 import flump.executor.load.LoadedSwf;
 import flump.mold.MovieMold;
 import flump.xfl.XflLibrary;
 import flump.xfl.XflTexture;
-
-import com.threerings.display.DisplayUtil;

 public class SwfTexture
 {
@@ -57,7 +56,7 @@
         this.quality = quality;

         // wrap object twice for convenience
-        var wrapper:Sprite = new Sprite();
+        const wrapper :Sprite = new Sprite();
         wrapper.addChild(disp);
         _disp = new Sprite();
         _disp.addChild(wrapper);
@@ -66,11 +65,10 @@
         _treatAsFiltered = hasPotentiallySizeAlteringFilters(disp);
         setScale(scale);
     }
-
+
     // scale can be changed after creation, if desired
-    public function setScale(value:Number):void
-    {
-        // To compensate for the fact that filters don't "scale", do the following
+    public function setScale (value :Number) :void {
+        // To compensate for the fact that filters don't "scale", we do the following
         // if filtered:
         //    render at scale 1
         //    then scale bitmapData to target size
@@ -86,7 +84,7 @@
             }
         } else {
             // embed the scale in _disp
-            var wrapper:DisplayObject = _disp.getChildAt(0);
+            var wrapper :DisplayObject = _disp.getChildAt(0);
             wrapper.scaleX = wrapper.scaleY = value;
             _scale = 1;
             // recalculate size since _disp has changed
@@ -97,7 +95,7 @@
     public function toBitmapData (borderPadding :int = 0) :BitmapData {
         // render with vector renderer
         var bmd :BitmapData = new BitmapData(Math.ceil(_w), Math.ceil(_h), true, 0x00);
-        var m :Matrix = new Matrix();
+        const m :Matrix = new Matrix();
         m.translate(_origin.x, _origin.y);
         bmd.drawWithQuality(_disp, m, null, null, null, true, this.quality);

@@ -112,18 +110,20 @@

     public function toString () :String { return "a " + this.a + " w " + this.w + " h " + this.h; }

-    private function recalculateSizeInfo() :void {
+    private function recalculateSizeInfo () :void {
         // get normal bounds
         _strictBounds = _disp.getChildAt(0).getBounds(_disp);
         _visualBounds = _strictBounds;
-
+
         // possibly increase the visual bounds (due to filter action)
         if (_treatAsFiltered) {
             // render to bmd
-            var topLeft:Point = new Point(_s_filteredBmd.width / 2 - _strictBounds.width / 2 - _strictBounds.x, _s_filteredBmd.height / 2 - _strictBounds.height / 2 - _strictBounds.y);
-            var m :Matrix = new Matrix(1,0,0,1, topLeft.x, topLeft.y);
+            const topLeft:Point = new Point(
+                _s_filteredBmd.width / 2 - _strictBounds.width / 2 - _strictBounds.x,
+                _s_filteredBmd.height / 2 - _strictBounds.height / 2 - _strictBounds.y);
+            const m :Matrix = new Matrix(1, 0, 0, 1, topLeft.x, topLeft.y);
             _s_filteredBmd.drawWithQuality(_disp, m, null, null, null, true, this.quality);
-
+
             // calculate visual bounds
             _visualBounds = _s_filteredBmd.getColorBoundsRect(0xff000000, 0x00000000, false);
             _s_filteredBmd.fillRect(_visualBounds, 0x0);
@@ -132,14 +132,14 @@
             _visualBounds.x = -(topLeft.x - _visualBounds.x);
             _visualBounds.y = -(topLeft.y - _visualBounds.y);
         }
-
+
         // calculate derivative info
         _origin = new Point(-_visualBounds.x, -_visualBounds.y);
         _w = _visualBounds.width;
         _h = _visualBounds.height;
     }

-    private function hasPotentiallySizeAlteringFilters(dObj:DisplayObject) :Boolean {
+    private function hasPotentiallySizeAlteringFilters (dObj :DisplayObject) :Boolean {
         return DisplayUtil.applyToHierarchy(dObj, function (disp :DisplayObject) :Boolean {
             for each (var filter :Object in disp.filters) {
                 // all standard filters except ColorMatrixFilter can change the visual bounds
@@ -158,7 +158,7 @@
     private var _visualBounds :Rectangle;
     private var _scale :Number;
     private var _treatAsFiltered:Boolean;
-
+
     static private var _s_filteredBmd:BitmapData = new BitmapData(2048, 2048, true, 0x0);
     { _s_filteredBmd.lock(); }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 12612
Author:   jimurphy@adobe.com
Date:     2009-12-07T18:22:37.051018Z

Log Message:
-----------
Merged 3.x revisions 12301,12311,12366,12369,12371-12372,12434,12483,12547 -> trunk

........
  r12301 | dloverin@adobe.com | 2009-11-30 17:52:14 -0500 (Mon, 30 Nov 2009) | 14 lines

  Bugs: SDK-18076
........
  r12311 | pfarland@adobe.com | 2009-11-30 21:33:06 -0500 (Mon, 30 Nov 2009) | 10 lines

  Bugs:
  SDK-24359 - soap response incorrectly decoded by XMLDecoder
........
  r12366 | clucier@adobe.com | 2009-12-02 11:25:44 -0500 (Wed, 02 Dec 2009) | 10 lines

  Bugs: SDK-23691
........
  r12369 | jon.avila@ssbbartgroup.com | 2009-12-02 11:46:06 -0500 (Wed, 02 Dec 2009) | 8 lines

  Bugs: n/a
........
  r12371 | jon.avila@ssbbartgroup.com | 2009-12-02 11:51:12 -0500 (Wed, 02 Dec 2009) | 8 lines

  Bugs: n/a
........
  r12372 | jon.avila@ssbbartgroup.com | 2009-12-02 11:54:42 -0500 (Wed, 02 Dec 2009) | 8 lines

  Bugs: n/a
........
  r12434 | jon.avila@ssbbartgroup.com | 2009-12-03 10:12:48 -0500 (Thu, 03 Dec 2009) | 7 lines

  Bugs: n/a
........
  r12483 | aharui@adobe.com | 2009-12-04 02:06:41 -0500 (Fri, 04 Dec 2009) | 10 lines
  Bugs: SDK-24340
........
  r12547 | gauravj@adobe.com | 2009-12-04 15:21:21 -0500 (Fri, 04 Dec 2009) | 7 lines

  Bugs: SDK-24278
........

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/accessibility/AccImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/bundles/en_US/controls.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/antTasks/src/flex/ant/MxmlcTask.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridBase.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1258904 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/controls/SWFLoader.as
+++ frameworks/projects/framework/src/mx/controls/SWFLoader.as
@@ -52,6 +52,7 @@
 import mx.managers.CursorManager;
 import mx.managers.IMarshalSystemManager;
 import mx.managers.ISystemManager;
+import mx.managers.SystemManager;
 import mx.managers.SystemManagerGlobals;
 import mx.styles.ISimpleStyleClient;
 import mx.utils.LoaderUtil;


Transferred from the Adobe Open Source Subversion Repository

Revision: 5101
Author:   gauravj@adobe.com
Date:     2009-02-27T05:22:45.887116Z

Log Message:
-----------
Update action script files with asdoc version tags.

QE Notes: None.
Doc Notes: Please review and update as necessary.
tests: checkintests

Modified Paths:
--------------
663 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259193 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/FlexMovieClip.as
+++ frameworks/projects/framework/src/mx/core/FlexMovieClip.as
@@ -20,6 +20,11 @@
  *  It overrides the toString() method
  *  to return a string indicating the location of the object
  *  within the hierarchy of DisplayObjects in the application.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class FlexMovieClip extends MovieClip
 {
@@ -44,6 +49,11 @@
 	 *
 	 *  @see flash.display.DisplayObject#name
 	 *  @see mx.utils.NameUtil#createUniqueName()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function FlexMovieClip()
 	{
@@ -87,6 +97,11 @@
 	 *
 	 *  @see flash.display.DisplayObject#name
 	 *  @see mx.utils.NameUtil#displayObjectToString()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     override public function toString():String
 	{


Transferred from the Adobe Open Source Subversion Repository

Revision: 11321
Author:   clucier@adobe.com
Date:     2009-10-30T19:10:32.210636Z

Log Message:
-----------
State property overrides now share values when state groups are used.

QE notes: None
Doc notes: None
Bugs: SDK-23710
Reviewer: Glenn, Paul
Tests run: Checkin, States
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/StatesModel.java</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1262397 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/states/SetProperty.as
+++ frameworks/projects/framework/src/mx/states/SetProperty.as
@@ -15,6 +15,7 @@
 {

 import mx.core.FlexVersion;
+import mx.core.IDeferredInstance;
 import mx.core.UIComponent;
 import mx.core.mx_internal;

@@ -101,20 +102,28 @@
      *  @param name The property to set.
      *
      *  @param value The value of the property in the view state.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    public function SetProperty(target:Object = null, name:String = null,
-                                value:* = undefined)
+     *
+     *  @param valueFactory An optional write-only property from which to obtain
+     *  a shared value.  This is primarily used when this override's value is
+     *  shared by multiple states or state groups.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function SetProperty(
+            target:Object = null,
+            name:String = null,
+            value:* = undefined,
+            valueFactory:IDeferredInstance = null)
     {
         super();

         this.target = target;
         this.name = name;
         this.value = value;
+        this.valueFactory = valueFactory;
     }

     //--------------------------------------------------------------------------
@@ -232,6 +241,31 @@
         }
     }

+    //----------------------------------
+    //  valueFactory
+    //----------------------------------
+
+    /**
+     *  An optional write-only property from which to obtain a shared value.  This
+     *  is primarily used when this override's value is shared by multiple states
+     *  or state groups.
+     *
+     *  @default undefined
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    public function set valueFactory(factory:IDeferredInstance):void
+    {
+        // We instantiate immediately in order to retain the instantiation
+        // behavior of a typical (unshared) value.  We may later enhance to
+        // allow for deferred instantiation.
+        if (factory)
+            value = factory.getInstance();
+    }
+
     //--------------------------------------------------------------------------
     //
     //  Methods: IOverride


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1274489 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLMessagePart.as
+++ frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLMessagePart.as
@@ -0,0 +1,65 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc.wsdl
+{
+
+[ExcludeClass]
+
+/**
+ * Parts are a flexible mechanism for describing the content of a message.
+ *
+ * @private
+ */
+public class WSDLMessagePart
+{
+    public function WSDLMessagePart(name:QName, element:QName = null, type:QName = null)
+    {
+        super();
+
+        _name = name;
+        this.type = type;
+        this.element = element;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    public var type:QName;
+
+    public var element:QName;
+
+    public var definition:XML;
+
+    public var optional:Boolean;
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * The unique name of this message part.
+     */
+    public function get name():QName
+    {
+        return _name;
+    }
+
+    private var _name:QName;
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 17131
Author:   feiwang@adobe.com
Date:     2010-07-30T03:15:54.787617Z

Log Message:
-----------
Fix bug SDK-26655.
QE notes:
Doc notes:
Bugs: SDK-26655
Reviewer: Jason Szeto
Tests run: Passed checkintests
Is noteworthy for integration:

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ComboBox.as

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1278500 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/ComboBox.as
+++ frameworks/projects/spark/src/spark/components/ComboBox.as
@@ -27,6 +27,7 @@

 import mx.core.mx_internal;
 import mx.styles.StyleProxy;
+import mx.core.IIMESupport;

 import spark.components.supportClasses.DropDownListBase;
 import spark.components.supportClasses.ListBase;
@@ -185,7 +186,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class ComboBox extends DropDownListBase
+public class ComboBox extends DropDownListBase implements IIMESupport
 {
     //--------------------------------------------------------------------------
     //
@@ -962,6 +963,61 @@
         removeEventListener(DropDownEvent.OPEN, editingOpenHandler);
         processInputField();
     }
+
+    //----------------------------------
+    //  enableIME
+    //----------------------------------
+
+    /**
+     *  @copy spark.components.TextInput#enableIME
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public  function get enableIME():Boolean
+    {
+        if (textInput)
+        {
+            return textInput.enableIME;
+        }
+
+        return false;
+    }
+
+    //----------------------------------
+    //  imeMode
+    //----------------------------------
+
+    /**
+     *  @copy spark.components.TextInput#imeMode
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public  function get imeMode():String
+    {
+        if (textInput)
+        {
+            return textInput.imeMode;
+        }
+        return null;
+    }
+
+    /**
+     *  @public
+     */
+    public function set imeMode(value:String):void
+    {
+        if (textInput)
+        {
+            textInput.imeMode = value;
+            invalidateProperties();
+        }
+    }

 }
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1253233 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
+++ frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.charts.series
 {


More coding convention updates to Terrain Editor

--- bin/Data/Scripts/Editor/EditorTerrain.as
+++ bin/Data/Scripts/Editor/EditorTerrain.as
@@ -25,8 +25,8 @@
     // Create the Terrain Editor window and initialize it
     void Create()
     {
-
-        if (window !is null) return;
+        if (window !is null)
+            return;

         window = LoadEditorUI("UI/EditorTerrainWindow.xml");
         ui.root.AddChild(window);
@@ -104,10 +104,10 @@
     // Save all the terrains we have edited
     void Save()
     {
-        for(uint i = 0; i < terrainsEdited.length; ++i)
+        for (uint i = 0; i < terrainsEdited.length; ++i)
         {
             // Make sure its not null (it may have been deleted since last save)
-            if(terrainsEdited[i] !is null)
+            if (terrainsEdited[i] !is null)
             {
                 String fileLocation = fileSystem.programDir + "Data/" + terrainsEdited[i].GetAttribute("Height Map").GetResourceRef().name;

@@ -115,20 +115,20 @@
                 Array<String> parts = chunks[chunks.length - 1].Split('.');
                 String fileType = parts[1];

-                if(fileType == "png")
+                if (fileType == "png")
                 {
                     terrainsEdited[i].heightMap.SavePNG(fileLocation);
                 }
-                else if(fileType == "jpg")
+                else if (fileType == "jpg")
                 {
                     // Save with the highest quality
                     terrainsEdited[i].heightMap.SaveJPG(fileLocation, 100);
                 }
-                else if(fileType == "bmp")
+                else if (fileType == "bmp")
                 {
                     terrainsEdited[i].heightMap.SaveBMP(fileLocation);
                 }
-                else if(fileType == "tga")
+                else if (fileType == "tga")
                 {
                     terrainsEdited[i].heightMap.SaveTGA(fileLocation);
                 }
@@ -142,9 +142,9 @@
     // Returns a brush based on its name (its filename minus the extension)
     Image@ GetBrushImage(String brushName)
     {
-        for(uint i = 0; i < brushes.length; ++i)
+        for (uint i = 0; i < brushes.length; ++i)
         {
-            if(brushes[i].name == brushName)
+            if (brushes[i].name == brushName)
             {
                 return brushes[i];
             }
@@ -161,7 +161,7 @@
         String brushesFileLocation = fileSystem.programDir + "Data/Textures/Editor/TerrainBrushes";
         Array<String> files = fileSystem.ScanDir(brushesFileLocation, "*.*", SCAN_FILES, false);

-        for(uint i = 0; i < files.length; ++i)
+        for (uint i = 0; i < files.length; ++i)
         {
             terrainBrushes.AddItem(CreateBrush(brushesFileLocation + "/" + files[i]));
         }
@@ -217,21 +217,21 @@
         SetSceneModified();

         // Add that terrain to the terrainsEdited if its not already in there
-        if(terrainsEdited.FindByRef(terrainComponent) == -1)
+        if (terrainsEdited.FindByRef(terrainComponent) == -1)
             terrainsEdited.Push(terrainComponent);

         // Only work if a brush is selected
-        if(selectedBrushImage !is null){
+        if (selectedBrushImage !is null){
             uint brushImageWidth = selectedBrushImage.width;
             uint brushImageHeight = selectedBrushImage.height;

-            switch(editMode)
+            switch (editMode)
             {
                 case TERRAIN_EDITMODE_RAISELOWERHEIGHT: {
                     // Iterate over the entire brush image
-                    for(int y = 0; y < brushImageHeight; ++y)
+                    for (int y = 0; y < brushImageHeight; ++y)
                     {
-                        for(int x = 0; x < brushImageWidth; ++x)
+                        for (int x = 0; x < brushImageWidth; ++x)
                         {
                             // Get the current terrain height at that position (centred to the brush's size)
                             IntVector2 pos = IntVector2(position.x + x - (brushImageWidth / 2), position.y + y - (brushImageHeight / 2));
@@ -253,16 +253,16 @@

                 case TERRAIN_EDITMODE_SETHEIGHT: {
                     // The color we want to set the height to (this stays the same until targetColorSelected is false again)
-                    if(targetColorSelected == false)
+                    if (targetColorSelected == false)
                     {
                         targetColor = terrainImage.GetPixel(position.x, position.y);
                         targetColorSelected = true;
                     }

                     // Iterate over the entire brush image
-                    for(int y = 0; y < brushImageHeight; ++y)
+                    for (int y = 0; y < brushImageHeight; ++y)
                     {
-                        for(int x = 0; x < brushImageWidth; ++x)
+                        for (int x = 0; x < brushImageWidth; ++x)
                         {
                             // Get the current terrain height at that position (centred to the brush's size)
                             IntVector2 pos = IntVector2(position.x + x - (brushImageWidth / 2), position.y + y - (brushImageHeight / 2));
@@ -275,9 +275,9 @@
                             newColor.b += (targetColor.b - newColor.b) * brushColor.a;

                             // Set it to target if its close enough
-                            if(Difference(targetColor.r, newColor.r) < 0.01f) newColor.r = targetColor.r;
-                            if(Difference(targetColor.g, newColor.g) < 0.01f) newColor.g = targetColor.g;
-                            if(Difference(targetColor.b, newColor.b) < 0.01f) newColor.b = targetColor.b;
+                            if (Difference(targetColor.r, newColor.r) < 0.01f) newColor.r = targetColor.r;
+                            if (Difference(targetColor.g, newColor.g) < 0.01f) newColor.g = targetColor.g;
+                            if (Difference(targetColor.b, newColor.b) < 0.01f) newColor.b = targetColor.b;

                             terrainImage.SetPixel(pos.x, pos.y, newColor);
                         }
@@ -291,16 +291,16 @@
                     //Image@ subImage = terrainImage.GetSubimage(rect);

                     // Iterate over the entire brush image
-                    for(int y = 0; y < brushImageHeight; ++y)
+                    for (int y = 0; y < brushImageHeight; ++y)
                     {
-                        for(int x = 0; x < brushImageWidth; ++x)
+                        for (int x = 0; x < brushImageWidth; ++x)
                         {
                             // Get the current terrain height at that position (centred to the brush's size)
                             IntVector2 pos = IntVector2(position.x + x - (brushImageWidth / 2), position.y + y - (brushImageHeight / 2));

                             // Make sure the pixel we're working on is atleast one pixel inside the terrainImage
                             // as we need an adjacent pixel on all sides for the smoothing algorithm to work
-                            if(pos.x > 0 && pos.y > 0 && pos.x < terrainImage.width - 1 && pos.y < terrainImage.height - 1)
+                            if (pos.x > 0 && pos.y > 0 && pos.x < terrainImage.width - 1 && pos.y < terrainImage.height - 1)
                             {
                                 Color newColor = terrainImage.GetPixel(pos.x, pos.y);
                                 Color brushColor = selectedBrushImage.GetPixel(x, y);
@@ -322,7 +322,7 @@
                                 float avgB = 0.0f;

                                 // Get the average of those pixels
-                                for(uint i = 0; i < adjacentColors.length; ++i)
+                                for (uint i = 0; i < adjacentColors.length; ++i)
                                 {
                                     avgR += adjacentColors[i].r;
                                     avgG += adjacentColors[i].g;
@@ -345,9 +345,9 @@
                     }

                     // Apply our changes to that actual terrain
-                    //for(int y = 0; y < subImage.height; ++y)
+                    //for (int y = 0; y < subImage.height; ++y)
                     //{
-                    //    for(int x = 0; x < subImage.width; ++x)
+                    //    for (int x = 0; x < subImage.width; ++x)
                     //    {
                     //        terrainImage.SetPixel(position.x + x - (brushImageWidth / 2), position.y + y - (brushImageHeight / 2), subImage.GetPixel(x, y));
                     //    }
@@ -376,7 +376,7 @@
     // Update the UI
     void UpdateDirty()
     {
-        if(!dirty)
+        if (!dirty)
             return;

         CheckBox@ raiseLowerHeight = window.GetChild("RaiseLowerHeight", true);
@@ -395,9 +395,9 @@

         ListView@ terrainBrushes = window.GetChild("BrushesContainer", true);

-        for(uint i = 0; i < terrainBrushes.numItems; ++i)
+        for (uint i = 0; i < terrainBrushes.numItems; ++i)
         {
-            if(terrainBrushes.items[i] !is selectedBrush)
+            if (terrainBrushes.items[i] !is selectedBrush)
             {
                 CheckBox@ checkbox = cast<CheckBox>(terrainBrushes.items[i]);
                 checkbox.checked = false;
@@ -472,7 +472,7 @@
     void BrushSelected(StringHash eventType, VariantMap& eventData)
     {
         CheckBox@ checkbox = cast<CheckBox>(eventData["Element"].GetPtr());
-        if(checkbox.checked == false)
+        if (checkbox.checked == false)
             return;
         selectedBrush = checkbox;
         selectedBrushImage = GetBrushImage(selectedBrush.name);


replace ArrayCollection with VectorCollection


Avoid using null qname on encode. Indicates problem during decode

--- as3/xobjas3/src/com/rpath/xobj/XObjXMLEncoder.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjXMLEncoder.as
@@ -193,7 +193,9 @@
             // we want to make sure the type we use for root node is type of object
             if (!tag)
                 tag = meta.rootQName.localName;
-            qname = meta.rootQName;
+            // only use rootQName if non-null (someone sets nulls into this...not sure where)
+            if (meta.rootQName.localName)
+                qname = meta.rootQName;
         }
         else
         {


if the project is a library, the files field is treated the same as include-sources

--- source/ASConfigC.as
+++ source/ASConfigC.as
@@ -271,12 +271,22 @@
 			if(ASConfigFields.FILES in configData)
 			{
 				var files:Array = configData[ASConfigFields.FILES] as Array;
-				var filesCount:int = files.length;
-				for(var i:int = 0; i < filesCount; i++)
-				{
-					var file:String = files[i];
-					this._args.push(file);
-				}
+				if(this._projectType === ProjectType.LIB)
+				{
+					CompilerOptionsParser.parse(
+					{
+						"include-sources": files
+					}, this._args);
+				}
+				else
+				{
+					var filesCount:int = files.length;
+					for(var i:int = 0; i < filesCount; i++)
+					{
+						var file:String = files[i];
+						this._args.push(file);
+					}
+				}
 			}
 		}


Delete is now a non-core function

Delete is now a non-core function

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@658 e0ac87d7-b42b-0410-9034-8248a05cb448

--- braineditor/Brain.as
+++ braineditor/Brain.as
@@ -10,7 +10,11 @@
       var topleft = new Point(100,40);
       var botright = new Point(200,140);
       newmov.commitBox(topleft, botright, 0);
-              var keyListener = {};
+    }
+
+    function Brain (root_mc:MovieClip) {
+       mSelectionManager = new SelectionManager(root_mc);
+               var keyListener = {};
         keyListener.onKeyDown = function()
         {
             var k = Key.getCode();
@@ -18,9 +22,7 @@
                 Brain.makenewlobe();
             }
         };
-    }
-    function Brain (root_mc:MovieClip) {
-       mSelectionManager = new SelectionManager(root_mc);
+        Key.addListener( keyListener );
     }
 }


Renamed some things, tweaked some descriptions

--- src/Levels/Level.as
+++ src/Levels/Level.as
@@ -101,17 +101,18 @@
 											[ConstIn, Adder, BabyLatch, DataWriter, DataReader, InstructionDecoder]);
 			INSTR_TUT.predecessors.push(ACC_TUT);
 			INSTR_TUT.writerLimit = 4;
-			var OP_TUT:Level = new Level("Opcodes", new OpcodeTutorialGoal, false,
+			var OP_TUT:Level = new Level("One Instruction", new OpcodeTutorialGoal, false,
 										 [ConstIn, Adder, BabyLatch, DataWriter, DataReader, InstructionDecoder], [OpcodeValue.OP_SAVI]);
 			OP_TUT.predecessors.push(ACC_TUT);
-			var ISEL_TUT:Level = new Level("Selection", new InstructionSelectGoal, false,
+			var ISEL_TUT:Level = new Level("Two Instructions", new InstructionSelectGoal, false,
 										 [ConstIn, Adder, BabyLatch, DataWriter, DataReader, InstructionDecoder, InstructionDemux], [OpcodeValue.OP_SAVI, OpcodeValue.OP_ADDM]);
 			ISEL_TUT.predecessors.push(OP_TUT);

 			levels.push(WIRE_TUT, MOD_TUT, ACC_TUT, INSTR_TUT, OP_TUT, ISEL_TUT);

-			var SEL_TUT:Level = new Level("Selection Tutorial", new WireTutorialGoal(2, "Set memory line 1 to 2! (Wire-drawing disabled.)\n\n(Select modules and wires by holding " + ControlSet.DRAG_MODIFY_KEY + " and dragging; once held, pick up & place them by clicking.)"),
-										  false, [], [], [new ConstIn(10, 0, 1), new Adder(16, 2), new DataWriter(22, 14)]);
+			var SEL_TUT:Level = new Level("Drag-Select Tutorial", new WireTutorialGoal(2, "Set memory line 1 to 2! (Wire-drawing disabled.)"),
+									      false, [], [], [new ConstIn(10, 0, 1), new Adder(16, 2), new DataWriter(22, 14)]);
+			SEL_TUT.goal.description += "\n\n(Select modules, and wires, by holding " + ControlSet.DRAG_MODIFY_KEY + " and dragging; once held, pick up & place them by clicking.)";
 			SEL_TUT.setWires([Wire.wireBetween(SEL_TUT.modules[0].layout.ports[0].Loc, SEL_TUT.modules[1].layout.ports[0].Loc), //const to adder input 1
 							  Wire.wireBetween(SEL_TUT.modules[1].layout.ports[0].Loc, SEL_TUT.modules[1].layout.ports[1].Loc), //adder input 1 to adder input 2
 							  Wire.wireBetween(SEL_TUT.modules[1].layout.ports[2].Loc, SEL_TUT.modules[2].layout.ports[0].Loc), //adder to dwrite value
@@ -130,8 +131,10 @@
 			SEL_TUT.preplacesFixed = false;
 			SEL_TUT.predecessors.push(MOD_TUT);

-			var COPY_TUT:Level = new Level("Copying Tutorial", new WireTutorialGoal(2, "Set memory line 1 to 2! (Wire-drawing disabled.)\n\n(Copy modules and wires by shift-dragging to select them, then pressing "+ControlSet.COPY_KEY+" to copy and "+ControlSet.PASTE_KEY+" to paste.)"),
+			var COPY_TUT:Level = new Level("Copying Tutorial", new WireTutorialGoal(2, "Set memory line 1 to 2! (Wire-drawing disabled.)"),
 											false, [ConstIn, Adder, DataWriter]);
+			COPY_TUT.goal.description += "\n\n(Copy modules and wires by shift-dragging to select them, then pressing " + ControlSet.COPY_KEY + " to copy and " + ControlSet.PASTE_KEY + " to paste.)";
+			COPY_TUT.goal.description += "\n\n\(You can copy within and between levels.)"
 			COPY_TUT.canDrawWires = COPY_TUT.canPlaceModules = false;
 			COPY_TUT.predecessors.push(SEL_TUT);


using WeaveAPI.getObject() and WeaveAPI.getPath() because they are faster than going through WeaveAPI.SessionManager.

--- WeaveAPI/src/WeaveAPI.as
+++ WeaveAPI/src/WeaveAPI.as
@@ -419,7 +419,7 @@
 				var obj:* = _pathLookup[value];
 				if (obj === undefined)
 				{
-					var path:Array = WeaveAPI.SessionManager.getPath(WeaveAPI.globalHashMap, value as ILinkableObject);
+					var path:Array = WeaveAPI.getPath(value as ILinkableObject);
 					// return null for ILinkableObjects not in session state tree
 					_pathLookup[value] = obj = path ? {"WeavePath": path} : null;
 				}
@@ -435,7 +435,7 @@
 				for (key in value)
 					if (key != WP)
 						return value;
-				return WeaveAPI.SessionManager.getObject(WeaveAPI.globalHashMap, value[WP] as Array);
+				return WeaveAPI.getObject(value[WP] as Array);
 			}
 			return value;
 		}


Bugfix for scrollbar behavior. Somehow this line was commented out (probably for testing something else). Adding that back in fixes bug is TestList.as test file

--- src/org/openPyro/core/UIContainer.as
+++ src/org/openPyro/core/UIContainer.as
@@ -478,7 +478,7 @@

 		protected function checkNeedsVScrollBar():void
 		{
-			//_contentHeight = this._layout.getMaxHeight(this.layoutChildren);
+			_contentHeight = this._layout.getMaxHeight(this.layoutChildren);
 			if(_contentHeight > this.height){
 				needsVerticalScrollBar = true
 			}


Added support for reading value of activation or granular activation

--- com/zehfernando/input/binding/KeyActionBinder.as
+++ com/zehfernando/input/binding/KeyActionBinder.as
@@ -1,7 +1,7 @@
 package com.zehfernando.input.binding {
 	import com.zehfernando.signals.SimpleSignal;
 	import com.zehfernando.utils.MathUtils;
-	import com.zehfernando.utils.console.debug;
+
 	import flash.display.Stage;
 	import flash.events.Event;
 	import flash.events.GameInputEvent;
@@ -116,7 +116,7 @@

 				// Some times the device is null because numDevices is updated before the added device event is dispatched
 				if (device != null) {
-					debug("  Adding events to device (" + i + "): name = " + device.name + ", controls = " + device.numControls + ", sampleInterval = " + device.sampleInterval);
+					//debug("  Adding events to device (" + i + "): name = " + device.name + ", controls = " + device.numControls + ", sampleInterval = " + device.sampleInterval);
 					device.enabled = true;
 					for (j = 0; j < device.numControls; j++) {
 						//debug("    Control id = " + device.getControlAt(j).id + ", val = " + device.getControlAt(j).minValue + " => " + device.getControlAt(j).maxValue);
@@ -187,12 +187,12 @@
 		}

 		private function onGameInputDeviceAdded(__e:GameInputEvent):void {
-			debug("Device added; num devices = " + GameInput.numDevices);
+			//debug("Device added; num devices = " + GameInput.numDevices);
 			refreshGameInputDeviceList();
 		}

 		private function onGameInputDeviceRemoved(__e:GameInputEvent):void {
-			debug("Device removed; num devices = " + GameInput.numDevices);
+			//debug("Device removed; num devices = " + GameInput.numDevices);
 			refreshGameInputDeviceList();
 		}

@@ -214,7 +214,9 @@
 					// TODO: accumulate value to know the correct value

 					// Dispatches signal
-					_onGranularActionChanged.dispatch(filteredControls[i].action, MathUtils.map(control.value, control.minValue, control.maxValue, (filteredControls[i].binding as GamepadGranularBinding).minValue, (filteredControls[i].binding as GamepadGranularBinding).maxValue));
+					//_onGranularActionChanged.dispatch(filteredControls[i].action, MathUtils.map(control.value, control.minValue, control.maxValue, (filteredControls[i].binding as GamepadGranularBinding).minValue, (filteredControls[i].binding as GamepadGranularBinding).maxValue));
+					(actionsActivations[filteredControls[i].action] as ActivationInfo).granularValues[filteredControls[i].action] = MathUtils.map(control.value, control.minValue, control.maxValue, (filteredControls[i].binding as GamepadGranularBinding).minValue, (filteredControls[i].binding as GamepadGranularBinding).maxValue);
+					_onGranularActionChanged.dispatch(filteredControls[i].action, (actionsActivations[filteredControls[i].action] as ActivationInfo).value);
 				} else {
 					// A standard action binding, send activated/deactivated signals

@@ -301,8 +303,12 @@
 			prepareAction(__action);
 		}

-		public function isActionPressed(__action:String):Boolean {
-			return actionsActivations.hasOwnProperty(__action) && actionsActivations[__action] > 0;
+		public function getActionValue(__action:String):Number {
+			return actionsActivations.hasOwnProperty(__action) ? (actionsActivations[__action] as ActivationInfo).value : 0;
+		}
+
+		public function isActionActivated(__action:String):Boolean {
+			return actionsActivations.hasOwnProperty(__action) && (actionsActivations[__action] as ActivationInfo).activations.length > 0;
 		}

 //		public function setFromXML(__xmlData:XML):void {
@@ -333,15 +339,34 @@
 	}
 }
 import com.zehfernando.input.binding.IBinding;
+
+import flash.utils.Dictionary;
 class ActivationInfo {

-	public var activations:Vector.<BindingInfo>;
+	public var activations:Vector.<BindingInfo>;			// All activated bindings
+	public var granularValues:Dictionary;					// Dictionary with IBinding
+
+	// Temp
+	private var val:Number;
+	private var iis:Object;

 	// ================================================================================================================
 	// CONSTRUCTOR ----------------------------------------------------------------------------------------------------

 	public function ActivationInfo() {
 		activations = new Vector.<BindingInfo>();
+		granularValues = new Dictionary();
+	}
+
+	// ================================================================================================================
+	// PUBLIC INTERFACE -----------------------------------------------------------------------------------------------
+
+	public function get value():Number {
+		val = 0;
+		for (iis in granularValues) {
+			if (granularValues[iis] > val) val = granularValues[iis];
+		}
+		return val;
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1267670 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/containers/HBox.as
+++ frameworks/projects/mx/src/mx/containers/HBox.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2003-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.containers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9416
Author:   aharui@adobe.com
Date:     2009-08-20T02:15:38.365755Z

Log Message:
-----------
Revert 9399.  The prototypes broke mustella states tests.  Will try again later.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/skins/spark/SparkChromeWindowedApplicationSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NavigatorChild.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" copyfrom-path="/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IDeferredContentOwner.as" copyfrom-rev="9398" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/PanelSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/INavigatorContent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/wireframe/src/spark/skins/wireframe/PanelSkin.mxml</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IDeferredContentOwner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1268333 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/NavBar.as
+++ frameworks/projects/mx/src/mx/controls/NavBar.as
@@ -23,7 +23,7 @@
 import mx.containers.BoxDirection;
 import mx.containers.ViewStack;
 import mx.core.ClassFactory;
-import mx.core.INavigatorContent;
+import mx.core.Container;
 import mx.core.FlexVersion;
 import mx.core.IFactory;
 import mx.core.IFlexDisplayObject;
@@ -251,7 +251,7 @@
                 if (targetStack)
                 {
                     Button(getChildAt(i)).enabled = value &&
-                            UIComponent(targetStack.getChildAt(i)).enabled;
+                            Container(targetStack.getChildAt(i)).enabled;
                 }
                 else
                 {
@@ -1069,11 +1069,11 @@
                 IndexChangedEvent.CHILD_INDEX_CHANGE, childIndexChangeHandler);

             var numViews:int = targetStack.numChildren;
-            var child:INavigatorContent;
+            var child:Container;

             for (var i:int = 0; i < numViews; i++)
 	        {
-                child = INavigatorContent(targetStack.getChildAt(i));
+                child = Container(targetStack.getChildAt(i));

                 child.removeEventListener("labelChanged", labelChangedHandler);
                 child.removeEventListener("iconChanged", iconChangedHandler);
@@ -1106,7 +1106,7 @@

         for (i = 0; i < numViews; i++)
         {
-            child = INavigatorContent(targetStack.getChildAt(i));
+            child = Container(targetStack.getChildAt(i));
             var item:Button = Button(createNavItem(itemToLabel(child), child.icon));

@@ -1180,7 +1180,7 @@
         if (event.relatedObject.parent != targetStack)
             return;

-        var newChild:INavigatorContent = INavigatorContent(event.relatedObject);
+        var newChild:Container = Container(event.relatedObject);
         var item:Button = Button(createNavItem(itemToLabel(newChild), newChild.icon));
         var index:int = newChild.parent.getChildIndex(DisplayObject(newChild));
         setChildIndex(item, index);
@@ -1259,7 +1259,7 @@
         var itemIndex:int =
             targetStack.getChildIndex(DisplayObject(event.target));

-        updateNavItemLabel(itemIndex, INavigatorContent(event.target).label);
+        updateNavItemLabel(itemIndex, Container(event.target).label);
     }

     /**
@@ -1272,7 +1272,7 @@
         var itemIndex:int =
             targetStack.getChildIndex(DisplayObject(event.target));

-        updateNavItemIcon(itemIndex, INavigatorContent(event.target).icon);
+        updateNavItemIcon(itemIndex, Container(event.target).icon);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 9320
Author:   dloverin@adobe.com
Date:     2009-08-14T21:49:12.747165Z

Log Message:
-----------
Fix Application.url property when RSLs are used.

Use LoaderUtil.normalizeURL() to normalize the Application.url property. Do the same thing for both the Halo and Spark versions of Application.

QE notes: None.
Doc notes: None.
Bugs: SDK-22154
Reviewer: Alex
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1269201 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/core/Application.as
+++ frameworks/projects/mx/src/mx/core/Application.as
@@ -35,6 +35,7 @@
 import mx.styles.CSSStyleDeclaration;
 import mx.styles.IStyleClient;
 import mx.styles.StyleManager;
+import mx.utils.LoaderUtil;

 use namespace mx_internal;

@@ -868,7 +869,7 @@
     /**
      *  @private
      *  Storage for the url property.
-     *  This variable is set in the initialize() method of SystemManager.
+     *  This variable is set in the initialize() method.
      */
     mx_internal var _url:String;

@@ -975,7 +976,7 @@

         var sm:ISystemManager = systemManager;

-        _url = sm.loaderInfo.url;
+        _url = LoaderUtil.normalizeURL(sm.loaderInfo);
         _parameters = sm.loaderInfo.parameters;

         initManagers(sm);


external reload now remembers previous filename

--- WeaveUISpark/src/weave/Weave.as
+++ WeaveUISpark/src/weave/Weave.as
@@ -417,6 +417,11 @@
 		}

 		private static const WEAVE_RELOAD_SHARED_OBJECT:String = "WeaveExternalReload";
+		private static const WEAVE_RELOAD_FILENAME:String = 'fileName';
+		private static const WEAVE_RELOAD_DATE:String = 'date';
+		private static const WEAVE_RELOAD_CONTENT:String = 'content';
+
+		private static const EXTERNAL_RELOAD_ERROR:String = lang("You must allow Weave to use local storage in order to use this feature.");

 		/**
 		 * This function will restart the Flash application by reloading the SWF that is embedded in the browser window.
@@ -449,7 +454,10 @@
 				weaveContent = (weaveContent as XML).toXMLString();
 			if (weaveContent is WeaveArchive)
 				weaveContent = (weaveContent as WeaveArchive).serialize();
-			obj.data[uid] = { date: new Date(), content: weaveContent };
+			obj.data[uid] = {};
+			obj.data[uid][WEAVE_RELOAD_FILENAME] = fileName;
+			obj.data[uid][WEAVE_RELOAD_DATE] = new Date();
+			obj.data[uid][WEAVE_RELOAD_CONTENT] = weaveContent;

 			if (obj.flush() == SharedObjectFlushStatus.PENDING)
 				obj.addEventListener(NetStatusEvent.NET_STATUS, handleExternalReloadStatus);
@@ -487,8 +495,6 @@
 			}
 		}

-		private static const EXTERNAL_RELOAD_ERROR:String = lang("You must allow Weave to use local storage in order to use this feature.");
-
 		/**
 		 * This function should be called when the application starts to restore session history after reloading the application.
 		 * @return true if the application was reloaded from within.
@@ -527,7 +533,8 @@
 				obj.setProperty(uid);

 				// restore old session history
-				loadWeaveFileContent(saved.content);
+				fileName = saved[WEAVE_RELOAD_FILENAME];
+				loadWeaveFileContent(saved[WEAVE_RELOAD_CONTENT]);
 			}

 			// delete all old saved data
@@ -537,7 +544,7 @@
 			{
 				try
 				{
-					if (date.getTime() - obj.data[uid].date.getTime() < EXPIRATION_TIME)
+					if (date.getTime() - obj.data[uid][WEAVE_RELOAD_DATE].getTime() < EXPIRATION_TIME)
 						continue;
 				}
 				catch (e:Error)


Stopped changing notebook icon to a phone...

--- flexEditor/src/org/arisgames/editor/services/AppServices.as
+++ flexEditor/src/org/arisgames/editor/services/AppServices.as
@@ -310,7 +310,7 @@
     public function saveLocation(gid:Number, loc:Location, imageMatchMediaId:Number, resp:IResponder):void
     {
         var l:Object;
-		if(loc.type == "PlayerNote") loc.iconMediaId = 72; //Set it to notebook- can't reference 'notes' table because notes have no custom icon media
+		if(loc.type == "PlayerNote") loc.iconMediaId = 94; //Set it to notebook- can't reference 'notes' table because notes have no custom icon media
         if (isNaN(loc.locationId))
         {
             trace("AppServices.as: This Location doesn't have an Id, so call create Location. Qr Code = " + loc.qrCode + " QuickTravel = " + loc.quickTravel);


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1248700 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPLevel.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPLevel.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1290626 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/OLAPMember.as
+++ frameworks/projects/advancedgrids/src/mx/olap/OLAPMember.as
@@ -0,0 +1,365 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.olap
+{
+
+import flash.utils.Dictionary;
+
+import mx.collections.ArrayCollection;
+import mx.collections.IList;
+import mx.core.mx_internal;
+
+/**
+ *  The OLAPMember class represents a member of an OLAP dimension.
+ *
+ *  @mxml
+ *

+ *  The <mx:OLAPMember> tag inherits all of the tag attributes
+ *  of its superclass, and adds the following tag attributes:
+ *

+ *

+ *  <mx:OLAPMember
+ *    Properties
+ *  />
+ *
+ *  @see mx.olap.IOLAPMember
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
+ */
+public class OLAPMember extends OLAPElement implements IOLAPMember
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor
+     *
+     *  @param name The name of the OLAP element that includes the OLAP schema hierarchy of the element.
+     *  For example, "Time_Year", where "Year" is a level of the "Time" dimension in an OLAP schema.
+     *
+     *  @param displayName The name of the OLAP member, as a String, which can be used for display.
+     *
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function OLAPMember(name:String=null, displayName:String=null)
+    {
+        OLAPTrace.traceMsg("Creating member: " + name, OLAPTrace.TRACE_LEVEL_3);
+        super(name, displayName);
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Variables
+    //
+    //--------------------------------------------------------------------------
+
+	/**
+	 *  @private
+	 *  A child members map based on their name
+	 */
+    private var _childrenMap:Dictionary = new Dictionary(true);
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // dimension
+    //----------------------------------
+
+    /**
+     *  The dimension to which this member belongs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function get dimension():IOLAPDimension
+    {
+        if (level && level.hierarchy)
+            return level.hierarchy.dimension;
+        return null;
+    }
+
+    //----------------------------------
+    // uniqueName
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    override public function get uniqueName():String
+    {
+        var list:Array = [];
+        list.push(this);
+
+        var parent:IOLAPMember = this.parent;
+
+        // if the member is from a OLAPAttribute then
+        // we only need to push the hierarchy name
+        if (hierarchy is OLAPAttribute)
+        {
+            list.push(hierarchy);
+        }
+        else
+        {
+            // if the member is from a OLAPHierarchy then we need to traverse
+            // its parents till we reach the top level.
+            while (parent && parent.parent)
+            {
+                list.push(parent);
+                parent = parent.parent;
+            }
+            list.push(hierarchy.levels.getItemAt(0));
+            list.push(hierarchy);
+        }
+
+        list.push(dimension);
+
+        var uName:String = "";
+        var n:int = list.length;
+        for (var i:int = n - 1; i > -1; --i)
+            uName += "[" + list[i].name + "].";
+        uName = uName.substring(0, uName.length-1);
+        return uName;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    // children
+    //----------------------------------
+
+    private var _children:IList = new ArrayCollection;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get children():IList
+    {
+        return _children;
+    }
+
+    //----------------------------------
+    // dataField
+    //----------------------------------
+
+    private var _dataField:String;
+
+    /**
+     *  The field of the input data set that provides
+     *  the data for this OLAPMember instance.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get dataField():String
+    {
+        return _dataField;
+    }
+
+    /**
+     *  @private
+     */
+    public function set dataField(field:String):void
+    {
+        _dataField = field;
+    }
+
+    //----------------------------------
+    // hierarchy
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get hierarchy():IOLAPHierarchy
+    {
+        return level.hierarchy;
+    }
+
+    //----------------------------------
+    // isAll
+    //----------------------------------
+
+    private var _all:Boolean = false;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get isAll():Boolean
+    {
+        return _all;
+    }
+
+    //----------------------------------
+    // isMeasure
+    //----------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get isMeasure():Boolean
+    {
+        return false;
+    }
+
+    //----------------------------------
+    // level
+    //----------------------------------
+
+    private var _level:IOLAPLevel;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get level():IOLAPLevel
+    {
+        return _level;
+    }
+
+    /**
+     *  @private
+     */
+    public function set level(level:IOLAPLevel):void
+    {
+        _level = level;
+    }
+
+    //----------------------------------
+    // parent
+    //----------------------------------
+
+    private var _parent:IOLAPMember;
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function get parent():IOLAPMember
+    {
+        return _parent;
+    }
+
+    /**
+     *  @private
+     */
+    public function set parent(p:IOLAPMember):void
+    {
+        _parent = p;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    public function findChildMember(name:String):IOLAPMember
+    {
+        return _childrenMap[name];
+    }
+
+    /**
+     *  Sets this member as the all member.
+     *  By default, the member is not the all member.
+     *
+     *  @param value true to make this member the all member.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
+     */
+    mx_internal function setIsAll(value:Boolean):void
+    {
+        _all = value;
+    }
+
+    /**
+     *  @private
+     *
+     *  Adds a child member to this member.
+     *
+     *  @param m The child member to add.
+     */
+    mx_internal function addChild(m:IOLAPMember):void
+    {
+        _children.addItem(m);
+        _childrenMap[m.name] = m;
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1259016 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/core/ByteArrayAsset.as
+++ frameworks/projects/framework/src/mx/core/ByteArrayAsset.as
@@ -0,0 +1,85 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.core
+{
+
+import flash.utils.ByteArray;
+
+/**
+ *  ByteArrayAsset is a subclass of the flash.utils.ByteArray class
+ *  which represents an arbitrary sequence of byte data that you embed
+ *  in a Flex application.
+ *
+ *
The byte data that you are embedding can be in any kind of file,
+ *  and the entire file is always embedded.
+ *  You cannot embed the bytes of a particular asset that is in a SWF file,
+ *  although you can embed an entire SWF file.

+ *
+ *
The MXML compiler autogenerates a class that extends ByteArrayAsset
+ *  to represent the embedded data.

+ *
+ *
To embed an arbitrary file, you declare a variable of type Class,
+ *  and put [Embed] metadata on it, using the MIME type
+ *  application/octet-stream.
+ *  For example, you embed a text file like this:

+ *
+ *

+ *  [Bindable]
+ *  [Embed(source="Story.txt", mimeType="application/octet-stream")]
+ *  private var storyClass:Class;
+ *

+ *
+ *
The compiler autogenerates a subclass of the ByteArrayAsset class
+ *  and sets your variable to be a reference to this autogenerated class.
+ *  You can then use this class reference to create instances of the
+ *  ByteArrayAsset using the new operator, and you can extract
+ *  information from the byte array using methods of the ByteArray class:

+ *
+ *

+ *  var storyByteArray:ByteArrayAsset = ByteArrayAsset(new storyClass());
+ *  var story:String = storyByteArray.readUTFBytes(storyByteArray.length);
+ *

+ *
+ *
You must specify that the MIME type for the embedding is
+ *  application/octet-stream, which causes the byte data
+ *  to be embedded "as is", with no interpretation.
+ *  It also causes the autogenerated class to extend ByteArrayAsset
+ *  rather than another asset class.

+ *
+ *
For example, if you embed a PNG file without specifying this
+ *  MIME type, the PNG data will be automatically transcoded
+ *  into the bitmap format used by the player, and a subclass
+ *  of BitmapAsset will be autogenerated to represent it.
+ *  But if you specify the MIME type as application/octet-stream,
+ *  then no transcoding will occur, the PNG data will be embedded
+ *  as is, and the autogenerated class will extend ByteArrayAsset.

+ */
+public class ByteArrayAsset extends ByteArray implements IFlexAsset
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     */
+    public function ByteArrayAsset()
+    {
+        super();
+    }
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1262783 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/framework/src/mx/utils/Base64Encoder.as
+++ frameworks/projects/framework/src/mx/utils/Base64Encoder.as
@@ -1,3 +1,13 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2004-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////

 package mx.utils
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8
Author:   open-source-svn-admin@adobe.com
Date:     2007-12-15T01:49:31.087529Z

Log Message:
-----------
The beginning of the open-source Flex SDK.

Populated the flex/sdk/trunk directory with an open-source subset of files from //depot/flex/sdk/...@191097 in the Faramir Perforce server. This changelist is a bit past the 3.0rc0 build.

The Ant scripts will not successfully build yet. They need to be adapted to the open-source subset.

Modified Paths:
--------------
2532 paths were modified

git-svn-id: 7146a936b37d36e51ea0d66f8acbe0b8281bc7b7@1270038 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/styles/metadata/SkinStyles.as
+++ frameworks/projects/mx/src/mx/styles/metadata/SkinStyles.as
@@ -0,0 +1,57 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/**
+ *  Color of the border.
+ *  The following controls support this style: Button, CheckBox,
+ *  ComboBox, MenuBar,
+ *  NumericStepper, ProgressBar, RadioButton, ScrollBar, Slider, and any
+ *  components that support the borderStyle style.
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 0xB7BABC.
+ */
+[Style(name="borderColor", type="uint", format="Color", inherit="no")]
+
+/**
+ *  Radius of component corners.
+ *  The following components support this style: Alert, Button, ComboBox,
+ *  LinkButton, MenuBar, NumericStepper, Panel, ScrollBar, Tab, TitleWindow,
+ *  and any component
+ *  that supports a borderStyle property set to "solid".
+ *  The default value depends on the component class;
+ *  if not overriden for the class, the default value is 0.
+ */
+[Style(name="cornerRadius", type="Number", format="Length", inherit="no")]
+
+/**
+ *  Alphas used for the background fill of controls. Use [1, 1] to make the control background
+ *  opaque.
+ *
+ *  @default [ 0.6, 0.4 ]
+ */
+[Style(name="fillAlphas", type="Array", arrayType="Number", inherit="no")]
+
+/**
+ *  Colors used to tint the background of the control.
+ *  Pass the same color for both values for a flat-looking control.
+ *
+ *  @default [ 0xFFFFFF, 0xCCCCCC ]
+ */
+[Style(name="fillColors", type="Array", arrayType="uint", format="Color", inherit="no")]
+
+/**
+ *  Alpha transparencies used for the highlight fill of controls.
+ *  The first value specifies the transparency of the top of the highlight and the second value specifies the transparency
+ *  of the bottom of the highlight. The highlight covers the top half of the skin.
+ *
+ *  @default [ 0.3, 0.0 ]
+ */
+[Style(name="highlightAlphas", type="Array", arrayType="Number", inherit="no")]


Reveal the contents of Dictionary objects in toString

git-svn-id: a1a4b28b82a3276cc491891159dd9963a0a72fae@5345 542714f4-19e9-0310-aa3c-eee0fc999fb1

--- src/as/com/threerings/util/StringUtil.as
+++ src/as/com/threerings/util/StringUtil.as
@@ -25,6 +25,7 @@

 import flash.utils.ByteArray;
 import flash.utils.Dictionary;
+import flash.utils.getQualifiedClassName;

 public class StringUtil
 {
@@ -303,7 +304,8 @@
             return String(obj);
         }

-        if (obj is Array || Util.isPlainObject(obj)) {
+        var isDictionary :Boolean = obj is Dictionary;
+        if (obj is Array || isDictionary || Util.isPlainObject(obj)) {
             if (refs == null) {
                 refs = new Dictionary();

@@ -333,7 +335,7 @@
                     }
                     s += prop + "=>" + toString(obj[prop], refs);
                 }
-                return "Object(" + s + ")";
+                return (isDictionary ? "Dictionary" : "Object") + "(" + s + ")";
             }

         } else if (obj is XML) {


missing reference to GeneralizedGeometry

--- WeaveASJS/src/WeaveTest.as
+++ WeaveASJS/src/WeaveTest.as
@@ -33,7 +33,8 @@
 	import weavejs.data.key.KeySetCallbackInterface;
 	import weavejs.data.key.KeySetUnion;
 	import weavejs.data.key.SortedKeySet;
-	import weavejs.geom.Range;
+import weavejs.geom.GeneralizedGeometry;
+import weavejs.geom.Range;
 	import weavejs.geom.ZoomBounds;
 import weavejs.util.ArrayUtils;
 import weavejs.util.AsyncSort;
@@ -76,6 +77,7 @@
 			StandardLib,
 			DateUtils,
 			EquationColumnLib,
+			GeneralizedGeometry,
 			//EntityNodeSearch, //TODO - resolve circular dependency issue
 			null
 		];


Disable the bandwidth limit.

Disable the bandwidth limit.

--- swfcat.as
+++ swfcat.as
@@ -32,7 +32,7 @@
         private const FACILITATOR_POLL_INTERVAL:int = 10000;

         // Bytes per second. Set to undefined to disable limit.
-        public const RATE_LIMIT:Number = 10 * 1024;
+        public const RATE_LIMIT:Number = undefined;
         // Seconds.
         private const RATE_LIMIT_HISTORY:Number = 5.0;


Added test for eventClass round-tripping through Signal constructor.

git-svn-id: 3635f658cd63696bbccf5e31eb8660aa893cf08d@10 6e9afafe-9be5-11de-811b-9ff18243e0fd

--- tests/com/robertpenner/signals/SignalWithCustomEventTest.as
+++ tests/com/robertpenner/signals/SignalWithCustomEventTest.as
@@ -21,6 +21,11 @@
 			message = null;
 		}
 		//////
+		public function test_eventClass_roundtrips_through_constructor():void
+		{
+			assertSame(MessageEvent, message.eventClass);
+		}
+
 		public function test_add_one_listener_and_dispatch():void
 		{
 			message.add(addAsync(onMessage, 50));


add debug2 log for SPS/PPS

add debug2 log for SPS/PPS

--- src/org/mangui/HLS/muxing/TS.as
+++ src/org/mangui/HLS/muxing/TS.as
@@ -1,4 +1,6 @@
 package org.mangui.HLS.muxing {
+    import com.hurlant.util.Hex;
+
     import org.mangui.HLS.muxing.*;
     import org.mangui.HLS.utils.Log;
     import org.mangui.HLS.HLSAudioTrack;
@@ -273,13 +275,17 @@
                         sps = new ByteArray();
                         _videoPES[i].data.position = units[j].start;
                         _videoPES[i].data.readBytes(sps, 0, units[j].length);
-                        // Log.debug("found SPS, size=" + sps.length + "," + Hex.fromArray(sps));
+                        if (Log.LOG_DEBUG2_ENABLED) {
+                            Log.debug2("found SPS, size=" + sps.length + "," + Hex.fromArray(sps));
+                        }
                     } else if (units[j].type == 8) {
                         pps_found = true;
                         pps = new ByteArray();
                         _videoPES[i].data.position = units[j].start;
                         _videoPES[i].data.readBytes(pps, 0, units[j].length);
-                        // Log.debug("found PPS, size=" + pps.length + "," + Hex.fromArray(pps));
+                        if (Log.LOG_DEBUG2_ENABLED) {
+                            Log.debug2("found PPS, size=" + pps.length + "," + Hex.fromArray(pps));
+                        }
                     }
                 }
                 if (_avcc.length == 0 && sps_found && pps_found) {


Fixed mouseX/Y to account for FP.screen's offset.

--- net/flashpunk/Screen.as
+++ net/flashpunk/Screen.as
@@ -178,12 +178,12 @@
 		/**
 		 * X position of the mouse on the screen.
 		 */
-		public function get mouseX():int { return FP.stage.mouseX / (_scaleX * _scale); }
+		public function get mouseX():int { return (FP.stage.mouseX - _x) / (_scaleX * _scale); }

 		/**
 		 * Y position of the mouse on the screen.
 		 */
-		public function get mouseY():int { return FP.stage.mouseY / (_scaleY * _scale); }
+		public function get mouseY():int { return (FP.stage.mouseY - _y) / (_scaleY * _scale); }

 		// Screen infromation.
 		/** @private */ private var _bitmap:Vector.<Bitmap> = new Vector.<Bitmap>(2);