Transferred from the Adobe Open Source Subversion Repository

Revision: 11639
Author:   jszeto@adobe.com
Date:     2009-11-11T01:07:34.029444Z

Log Message:
-----------
ComboBox bug fix

SDK-24104 - ComboBox should scroll the matched item to the top of the list

Made an mx_internal version of LayoutBase.getScrollPositionDeltaToElementHelper that supports aligning the position to an edge. ComboBox and DropDownList scroll the highlighted item to the top except when using the navigation keys to navigate while the dropDown is open.

Removed a bunch of comments and trace statements from ComboBox.

QE notes: None
Doc notes: None
Bugs: SDK-24104
Reviewer: Evtim
Tests run: ComboBox, DropDownList
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -708,7 +708,7 @@
     /**
      *  @private
      */
-    override protected function getElementBounds(index:int):Rectangle
+    override public function getElementBounds(index:int):Rectangle
     {
         if (!useVirtualLayout)
             return super.getElementBounds(index);


Bug 706719: fix issues around quotes in the TITLE, I added this after I tested the compilation and didn't notice that the text had a double quote in it.

--- test/acceptance/as3/asc/string-parameter-default-null.as
+++ test/acceptance/as3/asc/string-parameter-default-null.as
@@ -41,7 +41,7 @@

 var SECTION = "ASC";
 var VERSION = "AS3";
-var TITLE   = "ASC misinterprets default <null> value as "null" string value";
+var TITLE   = "ASC misinterprets default <null> value as 'null' string value";

 startTest();
 writeHeaderToLog( SECTION + " "+ TITLE);


Updated CIListener.as

Updated CIListener.as

git-svn-id: 9278a788294a4258aac04586390fc35fb4a5f335@9523 a9308255-753e-0410-a2e9-80b3fbc4fff6

--- FlexUnit4CIListener/src/org/flexunit/listeners/CIListener.as
+++ FlexUnit4CIListener/src/org/flexunit/listeners/CIListener.as
@@ -62,6 +62,7 @@
 		private static const END_OF_TEST_RUN : String = "<endOfTestRun/>";

 		private var socket:XMLSocket;
+
 		[Inspectable]
 		public var port : uint;

@@ -70,14 +71,8 @@

 		private var lastFailedTest:IDescription;

-		private var projectName:String;
-		private var contextName:String;
-
-		public function CIListener(port : uint = DEFAULT_PORT, server :
-								   String = DEFAULT_SERVER) {
-			/* this.projectName = projectName;
-			this.contextName = contextName; */
-
+		public function CIListener(port : uint = DEFAULT_PORT, server : String = DEFAULT_SERVER)
+		{
 			this.port = port;
 			this.server = server;

@@ -87,6 +82,7 @@
 			socket.addEventListener( IOErrorEvent.IO_ERROR, errorHandler);
 			socket.addEventListener( SecurityErrorEvent.SECURITY_ERROR,errorHandler);
 			socket.addEventListener( Event.CLOSE,errorHandler);
+
 			try
 			{
 				socket.connect( server, port );
@@ -97,54 +93,63 @@
 		}

 		[Bindable(event="listenerReady")]
-		public function get ready():Boolean {
+		public function get ready():Boolean
+		{
 			return _ready;
 		}

-		private function getTestCount( description:IDescription ):int {
+		private function getTestCount( description:IDescription ):int
+		{
 			return description.testCount;
 		}

-		public function testRunStarted( description:IDescription ):void{
-			// Currently it is not necessary to send any message for the start of a run.
-			//  However, if desired this can be used for a special message.
-			sendResults("<testsuite totalTestCount='" + getTestCount( description ) + "'  projectName='" + projectName + "' contextName='" + contextName +"' />");
-		}
-
-		public function testRunFinished( result:Result ):void {
+		public function testRunStarted( description:IDescription ):void
+		{
+			//Since description tells us nothing about failure, error, and skip counts, this is
+		   //computed by the Ant task as the process executes and no work is needed to signify
+		   //the start of a test run.
+		}
+
+		public function testRunFinished( result:Result ):void
+		{
 			sendResults(END_OF_TEST_RUN);
 		}

-		public function testStarted( description:IDescription ):void {
+		public function testStarted( description:IDescription ):void
+		{
 			// called before each test
 		}

-		public function testFinished( description:IDescription ):void {
+		public function testFinished( description:IDescription ):void
+		{
 			// called after each test
 			if(!lastFailedTest || description.displayName != lastFailedTest.displayName){
 				var desc:Descriptor = getDescriptorFromDescription(description);
-				sendResults("<testcase classname='"+desc.suite+"'name='"+desc.method+"' time='0.000'  status='"+SUCCESS+"'/>");
-			}
-		}
-
-		public function testAssumptionFailure( failure:Failure ):void {
+				sendResults("<testcase classname='"+desc.suite+"' name='"+desc.method+"' time='0.000'  status='"+SUCCESS+"'/>");
+			}
+		}
+
+		public function testAssumptionFailure( failure:Failure ):void
+		{
 			// called on assumptionFail
 		}

-		public function testIgnored( description:IDescription ):void {
+		public function testIgnored( description:IDescription ):void
+		{
 			// called on ignored test if we want to send ignore to ant.
 			var descriptor:Descriptor = getDescriptorFromDescription(description);

 			var xml:String =
-				"<testcase classname='"+descriptor.suite+"'name='"+descriptor.method+"' time='0.000'  status='"+IGNORE+"'>"+
-				"<skipped message='Ignored Test'/>"+
-				"</testcase>";
+				"<testcase classname='"+descriptor.suite+"' name='"+descriptor.method+"' time='0.000' status='"+IGNORE+"'>"
+				+ "<skipped />"
+				+ "</testcase>";

 			sendResults( xml );
 		}

-		public function testFailure( failure:Failure ):void {
+		public function testFailure( failure:Failure ):void
+		{
 			// called on a test failure
 			lastFailedTest = failure.description;
 			var descriptor:Descriptor =
@@ -161,30 +166,33 @@

 			var xml : String = null;

-			if(FailureFormatter.isError(failure.exception)) {
+			if(FailureFormatter.isError(failure.exception))
+			{
 				xml =
-					"<testcase classname='"+descriptor.suite+"'name='"+descriptor.method+"' time='0.000'  status='"+ERROR+"'>"+
-					"<error message='" + message + "' type='"+ type +"' >"+
-					"<stackTraceInfo>" +stackTrace+ "</stackTraceInfo>"+
-					"</error>"+
-					"</testcase>";
-			}
-			else {
+					"<testcase classname='"+descriptor.suite+"' name='"+descriptor.method+"' time='0.000'  status='"+ERROR+"'>"
+					+ "<error message='" + message + "' type='"+ type +"' >"
+					+ "<stackTraceInfo>" +stackTrace+ "</stackTraceInfo>"
+					+ "</error>"
+					+ "</testcase>";
+			}
+			else
+			{
 				xml =
-					"<testcase classname='"+descriptor.suite+"'name='"+descriptor.method+"' time='0.000'  status='"+FAILURE+"'>"+
-					"<failure message='" + message + "' type='"+ type +"' >"+
-					"<stackTraceInfo>" +stackTrace+ "</stackTraceInfo>"+
-					"</failure>"+
-					"</testcase>";
+					"<testcase classname='"+descriptor.suite+"' name='"+descriptor.method+"' time='0.000'  status='"+FAILURE+"'>"
+					+ "<failure message='" + message + "' type='"+ type +"' >"
+					+ "<stackTraceInfo>" +stackTrace+ "</stackTraceInfo>"
+					+ "</failure>"
+					+ "</testcase>";
 			}

 			sendResults(xml);
 		}
+
 		/*
 		* Internal methods
 		*/
-
-		private function getDescriptorFromDescription(description:IDescription ):Descriptor{
+		private function getDescriptorFromDescription(description:IDescription ):Descriptor
+		{
 			// reads relavent data from descriptor
 			/**
 			 * JAdkins - 7/27/07 - FXU-53 - Listener was returning a null value for the test class
@@ -195,10 +203,13 @@
 			var descriptor:Descriptor = new Descriptor();
 			var descriptionArray:Array = description.displayName.split("::");
 			var classMethod:String;
-			if ( descriptionArray.length > 1 ) {
+			if ( descriptionArray.length > 1 )
+			{
 				descriptor.path = descriptionArray[0];
 				classMethod =  descriptionArray[1];
-			} else {
+			}
+			else
+			{
 				classMethod =  descriptionArray[0];
 			}
 			var classMethodArray:Array = classMethod.split(".");
@@ -208,20 +219,24 @@
 			return descriptor;
 		}

-		protected function sendResults(msg:String):void{
-			if(socket.connected){
+		protected function sendResults(msg:String):void
+		{
+			if(socket.connected)
+			{
 				socket.send( msg );
 			}

-			//trace(msg);
-		}
-
-		private function handleConnect(event:Event):void{
+			trace(msg);
+		}
+
+		private function handleConnect(event:Event):void
+		{
 			_ready = true;
 			dispatchEvent( new Event( AsyncListenerWatcher.LISTENER_READY ) );
 		}

-		private function errorHandler(event:Event):void{
+		private function errorHandler(event:Event):void
+		{
 			dispatchEvent( new Event( AsyncListenerWatcher.LISTENER_FAILED ) );
 		}


Some simple additions to RectUtil

Some simple additions to RectUtil

--- raw/src/org/yellcorp/lib/geom/RectUtil.as
+++ raw/src/org/yellcorp/lib/geom/RectUtil.as
@@ -13,6 +13,75 @@
  */
 public class RectUtil
 {
+    /**
+     * Sets the x, y, width and height properties on an object.
+     *
+     * @param target
+     * The object on which to set the values.
+     *
+     * @param x       The new value for the x property.
+     * @param y       The new value for the y property.
+     * @param width   The new value for the width property.
+     * @param height  The new value for the height property.
+     */
+    public static function setValues(target:*, x:Number, y:Number, width:Number, height:Number):void
+    {
+        target.x = x;
+        target.y = y;
+        target.width = width;
+        target.height = height;
+    }
+
+
+    /**
+     * Sets the x, y, width and height properties on an object by specifying
+     * the desired left, top, right and bottom edge coordinates.
+     *
+     * @param target
+     * The object on which to set the values.
+     *
+     * @param left    The desired left edge coordinate. The target's x property
+     *                is set to this value.
+     * @param top     The desired top edge coordinate. The target's y property
+     *                is set to this value.
+     * @param right   The desired right edge coordinate. The target's width
+     *                property is set to this value minus left.
+     * @param bottom  The desired bottom edge coordinate. The target's height
+     *                property is set to this value minus top.
+     */
+    public static function setEdges(target:*, left:Number, top:Number, right:Number, bottom:Number):void
+    {
+        target.x = left;
+        target.y = top;
+        target.width = right - left;
+        target.height = bottom - top;
+    }
+
+
+    /**
+     * Copies the x, y, width and height properties from one object to another.
+     *
+     * @param source
+     * The object providing the values to copy.
+     *
+     * @param target
+     * The object receiving the copied values. If no object is passed, a new
+     * Rectangle is created.
+     *
+     * @return
+     * The object containing the copied values of source.
+     */
+    public static function copy(source:*, target:* = null):*
+    {
+        if (!target) target = new Rectangle();
+        target.x = source.x;
+        target.y = source.y;
+        target.width = source.width;
+        target.height = source.height;
+        return target;
+    }
+
+
     /**
      * Multiplies each coordinate in a rectangle by a scalar value.
      *


warn in case ID3 header is found without timestamp

--- src/org/mangui/HLS/muxing/ID3.as
+++ src/org/mangui/HLS/muxing/ID3.as
@@ -33,6 +33,9 @@
                 len = data.position-pos;
                 if (len) {
                   Log.debug2("ID3 len:"+ len);
+                  if(!hasTimestamp) {
+                     Log.warn("ID3 tag found, but no timestamp");
+                  }
                 }
                 return;
               }
@@ -56,7 +59,7 @@
       private function _parseFrame(data:ByteArray):void {
         if (data.readUTFBytes(4) == "PRIV") {
           var frame_len:uint = data.readUnsignedInt();
-          // smelling good ! 53 is the size of tag we are looking for
+          // smelling good ! 53 is the size of tag we are looking for
           if(frame_len == 53) {
             // skip flags (2 bytes)
             data.position+=2;


Fixed an obvious bug -  calculated values rather than passed values are now used.

--- src/org/openPyro/core/Padding.as
+++ src/org/openPyro/core/Padding.as
@@ -16,9 +16,9 @@
 		public function Padding(top:Number=0, right:Number=-1, bottom:Number=-1, left:Number=-1)
 		{
 			_top = top;
-			_right = right > -1 ? right : top;
-			_bottom = bottom > -1 ? bottom : top;
-			_left = left > -1 ? left : right;
+			_right = right > -1 ? right : _top;
+			_bottom = bottom > -1 ? bottom : _top;
+			_left = left > -1 ? left : _right;
 		}

 		public function get top():Number


Player: Center and scale image properly.

Only downscale image, instead of upscaling (which results in
pixelated image), center it.

--- src/Player.as
+++ src/Player.as
@@ -11,7 +11,6 @@
   import flash.external.ExternalInterface;
   import flash.media.Video;
   import flash.net.NetStream;
-  import flash.net.NetStreamAppendBytesAction;
   import flash.utils.ByteArray;
   import flash.net.NetConnection;

@@ -19,6 +18,7 @@
   import flash.net.Socket;

   import com.axis.rtspclient.ByteArrayUtils;
+  import com.axis.rtspclient.BitArray;

   [SWF(frameRate="60")]

@@ -38,9 +38,23 @@
       var nc:NetConnection = new NetConnection();
       nc.connect(null);

-      vid = new Video(640,480);
+      vid = new Video(stage.stageWidth, stage.stageHeight);

       ns = new NetStream(nc);
+      ns.bufferTime = 1;
+      ns.client = new Object();
+      ns.client.onMetaData = function(item:Object):void {
+        vid.width  = Math.min(item.width,  stage.stageWidth);
+        vid.height = Math.min(item.height, stage.stageHeight);
+
+        vid.x = 0;
+        vid.y = 0;
+        if (item.width < stage.stageWidth || item.height < stage.stageHeight) {
+          vid.x = (stage.stageWidth - item.width) / 2;
+          vid.y = (stage.stageHeight - item.height) / 2;
+        }
+      };
+
       ns.play(null);
       vid.attachNetStream(ns);


Transferred from the Adobe Open Source Subversion Repository

Revision: 17491
Author:   aharui@adobe.com
Date:     2010-08-26T18:31:34.581497Z

Log Message:
-----------
Handle clipped sub-apps

QE notes: none
Doc notes: New optional parameter to SystemManager.getVisibleApplicationRect
Bugs: SDK-26478
Reviewer: Darrell
Tests run: checkintests mustella/MarshallPlan
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark_dmv/src/mx/controls/advancedDataGridClasses/FTEAdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/datavisualization/src/mx/controls/advancedDataGridClasses/AdvancedDataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>

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

--- frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as
+++ frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as
@@ -601,7 +601,7 @@
         // Calculate global position of label.
         var sm:ISystemManager = systemManager.topLevelSystemManager;
         var sbRoot:DisplayObject = sm.getSandboxRoot();
-        var screen:Rectangle = sm.getVisibleApplicationRect();
+        var screen:Rectangle = sm.getVisibleApplicationRect(null, true);
         var pt:Point = new Point(0, 0);
         pt = label.localToGlobal(pt);
         pt = sbRoot.globalToLocal(pt);


Add rotation to the player movement

Add rotation to the player movement

--- bin/Data/Scripts/Player.as
+++ bin/Data/Scripts/Player.as
@@ -5,7 +5,9 @@

 	float pitch_;
 	float yaw_;
-	Node@ cameraMount_;
+	Quaternion modelRotation_;
+	Node@ cameraMountNode_;
+	Node@ modelNode_;

 	Vector3 debugDirection_;

@@ -24,19 +26,22 @@

 	void DelayedStart()
 	{
-		cameraMount_ = node.GetChild("CameraMount", true);
+		cameraMountNode_ = node.GetChild("CameraMount", true);
+		modelNode_ = node.GetChild("Model", true);
+		modelRotation_ = modelNode_.rotation;
 	}

 	void Update(float timestep)
 	{
 		const float MOVEMENT_STRENGTH = 20.0f;
+		const float MOVEMENT_MARGIN = 0.1f;
 		const float MOUSE_SENSITIVITY = 0.1f;

 		IntVector2 mouseMove = input.mouseMove;
 		yaw_ += MOUSE_SENSITIVITY * mouseMove.x;
 		pitch_ += MOUSE_SENSITIVITY * mouseMove.y;
 		pitch_ = Clamp(pitch_, -15.0f, 15.0f);
-		cameraMount_.rotation = Quaternion(pitch_, yaw_, 0.0f);
+		cameraMountNode_.rotation = Quaternion(pitch_, yaw_, 0.0f);

 		Vector3 direction = Vector3::ZERO;
 		if (input.keyDown[KEY_W] || input.keyDown[KEY_UP])
@@ -72,6 +77,14 @@
 			rigidBody.friction = RestingFriction;
 		}

+		if (rigidBody.linearVelocity.lengthSquared > MOVEMENT_MARGIN)
+		{
+			Vector3 lateralVelocity = Vector3(rigidBody.linearVelocity.x, 0, rigidBody.linearVelocity.z);
+			Quaternion lateralRotation;
+			lateralRotation.FromLookRotation(lateralVelocity, Vector3::UP);
+			lateralRotation = lateralRotation * modelRotation_;
+			modelNode_.rotation = modelNode_.rotation.Nlerp(lateralRotation, 0.3, true);
+		}
 	}

 	void Save(Serializer& serializer)
@@ -106,9 +119,11 @@
 			PhysicsWorld@ world = node.scene.GetComponent("PhysicsWorld");

 			Vector3 origin = node.position + Vector3::UP;
-			Vector3 target = node.position + debugDirection_ * 2 + Vector3::UP;
+			Vector3 moveTarget = origin + debugDirection_ * 2;
+			Vector3 faceTarget = (modelNode_.rotation * Vector3::FORWARD) * 3 + origin;

-			debugRenderer.AddLine(origin, target, Color(1.0, 0, 0));
+			debugRenderer.AddLine(origin, faceTarget, Color(0, 1, 0));
+			debugRenderer.AddLine(origin, moveTarget, Color(1.0, 0, 0));
 			world.DrawDebugGeometry(debugRenderer, true);
 		}
 	}


externalReload() now waits for the user to approve local storage access
and displays an error message when the user denies access. Previously,
session history would be lost.

Change-Id: I90630c373302dcf05ff5d2b3bc62bf1b389184a3

--- WeaveUISpark/src/weave/Weave.as
+++ WeaveUISpark/src/weave/Weave.as
@@ -21,8 +21,10 @@
 {
 	import flash.display.BitmapData;
 	import flash.events.Event;
+	import flash.events.NetStatusEvent;
 	import flash.external.ExternalInterface;
 	import flash.net.SharedObject;
+	import flash.net.SharedObjectFlushStatus;
 	import flash.utils.ByteArray;
 	import flash.utils.getQualifiedClassName;

@@ -432,6 +434,13 @@
 		 */
 		public static function externalReload(weaveContent:Object = null):void
 		{
+			if (!ExternalInterface.available)
+			{
+				//TODO: is it possible to restart an Adobe AIR application from within?
+				reportError("Unable to restart Weave when ExternalInterface is not available.");
+				return;
+			}
+
 			if (!weaveContent)
 				weaveContent = createWeaveFileContent();

@@ -449,12 +458,22 @@
 			if (weaveContent is WeaveArchive)
 				weaveContent = (weaveContent as WeaveArchive).serialize();
 			obj.data[uid] = { date: new Date(), content: weaveContent };
-			obj.flush();
-			obj.close();
-
-			// reload the application
-			if (ExternalInterface.available)
-			{
+
+			if (obj.flush() == SharedObjectFlushStatus.PENDING)
+				obj.addEventListener(NetStatusEvent.NET_STATUS, handleExternalReloadStatus);
+			else
+				handleExternalReloadStatus();
+
+			function handleExternalReloadStatus(event:NetStatusEvent = null):void
+			{
+				if (event && event.info.code != 'SharedObject.Flush.Success')
+				{
+					reportError(EXTERNAL_RELOAD_ERROR);
+					return;
+				}
+				obj.close();
+
+				// reload the application
 				if (ExternalInterface.objectID)
 					ExternalInterface.call(
 						"function(reloadID) {" +
@@ -468,12 +487,9 @@
 				else
 					ExternalInterface.call("function(){ location.reload(false); }");
 			}
-			else
-			{
-				//TODO
-				throw new Error("externalReload() is not yet supported when ExternalInterface is not available.");
-			}
-		}
+		}
+
+		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.
@@ -482,7 +498,6 @@
 		public static function handleWeaveReload():Boolean
 		{
 			var obj:SharedObject = SharedObject.getLocal(WEAVE_RELOAD_SHARED_OBJECT);
-			var flush:Boolean = false;
 			var uid:String = WEAVE_RELOAD_SHARED_OBJECT;
 			if (ExternalInterface.available && ExternalInterface.objectID)
 			{
@@ -517,8 +532,7 @@
 			if (saved)
 			{
 				// delete session history from shared object
-				delete obj.data[uid];
-				flush = true;
+				obj.setProperty(uid);

 				// restore old session history
 				loadWeaveFileContent(saved.content);
@@ -539,13 +553,10 @@
 					// ignore error, entry will be deleted
 				}

-				delete obj.data[uid];
-				flush = true;
+				obj.setProperty(uid);
 			}

 			// save changes to shared object
-			if (flush)
-				obj.flush();
 			obj.close();

 			return saved != null;


Fixed cached dlink bug

Fixed cached dlink bug

--- src/Displays/DLink.as
+++ src/Displays/DLink.as
@@ -93,7 +93,7 @@
 			} else {
 				cachedLines.push(makeCachedLine(source.x, Math.min(source.y, midpoint.y), Math.abs(source.y - midpoint.y), false));
 				cachedLines.push(makeCachedLine(Math.min(source.x, dest.x), midpoint.y, Math.abs(source.x - dest.x), true));
-				cachedLines.push(makeCachedLine(dest.x, Math.min(midpoint.y, dest.y), Math.abs(dest.y - midpoint.y), true));
+				cachedLines.push(makeCachedLine(dest.x, Math.min(midpoint.y, dest.y), Math.abs(dest.y - midpoint.y), false));
 			}

 			cachedZoom = U.zoom;


test and expr have problems with floats.

	* build-aux/urbi.as: Use bc instead.

--- build-aux/urbi.as
+++ build-aux/urbi.as
@@ -165,10 +165,13 @@
   local dt=.5
   while test ! -f server.port || test $(wc -l <server.port) = 0;
   do
-    test $t -lt $tmax ||
-      fatal "$URBI_SERVER did not issue port in server.port in ${tmax}s"
-    sleep $dt
-    t=$(($t + $dt))
+    # test/expr don't like floating points.
+    case $(echo "$t <= $tmax" | bc) in
+      (1) sleep $dt
+          t=$(echo "$t + $dt" | bc);;
+      (0)
+      fatal "$URBI_SERVER did not issue port in server.port in ${tmax}s";;
+    esac
   done
 }
 ])


Transferred from the Adobe Open Source Subversion Repository

Revision: 16334
Author:   clucier@adobe.com
Date:     2010-05-27T02:31:28.322720Z

Log Message:
-----------
Preliminary Spark Image and BitmapImage enhancement feature work.  Also included with this checkin is the ability for BitmapImage and s:Image instances to share an image cache.  Queueing is next up to be checked in.

QE notes: Proceed with testing, though PARB related renames are pending. Not considered code complete.
Doc notes: Should begin reviewing new classes in preparation for doc'ing.
Bugs: None
Reviewer: Ryan
Tests run: Checkin, cyclone server Mustella tests.
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageLoadingSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/ContentCache.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/ImageSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LinkedListNode.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapSmoothingQuality.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/spark-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/LoaderInvalidationEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/core/contentLoader/IContentLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mx-manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/manifest.xml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapScaleMode.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>

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

--- frameworks/projects/framework/src/mx/graphics/BitmapSmoothingQuality.as
+++ frameworks/projects/framework/src/mx/graphics/BitmapSmoothingQuality.as
@@ -0,0 +1,53 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 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.graphics
+{
+
+/**
+ *  An enum of the smoothing quality modes that determine how a BitmapImage
+ *  scales image content when fillMode is set to BitmapFillMode.SCALE and
+ *  smooth is true.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4.5
+ */
+public final class BitmapSmoothingQuality
+{
+    /**
+     *  Default smoothing algorithm is used when scaling,
+     *  consistent with quality of the stage (stage.quality).
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.5
+     */
+    public static const DEFAULT:String = "default";
+
+    /**
+     *  High quality smoothing algorithm is used when scaling. Used
+     *  when a higher quality (down-sampled) scale is preferred. Yields
+     *  a result similar to one obtained when stage.quality is set to
+     *  'best', without requiring global stage quality be set to something
+     *  other than the default.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4.5
+     */
+    public static const HIGH:String = "high";
+}
+
+}


Fixed splice index

Fixed splice index

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -355,14 +355,14 @@

             } else if (fragmentType == HLSLoaderTypes.FRAGMENT_SUBTITLES) {

-                if (_fragMainLevel == -1
-                    || (_hls.type == HLSTypes.LIVE && (!_fragMainSN || isNaN(_fragMainInitialPTS)))
-                    || !_hls.levels[_fragMainLevel].getFragmentfromSeqNum(_fragMainSN)) {
-                    // Too soon!
-                    _overlappingTags = _overlappingTags.concat(tags);
-                    _overlappingMinPTS = Math.min(_overlappingMinPTS, Math.max(tags[0].pts, min_pts));
-                    return;
-                }
+//                if (_fragMainLevel == -1
+//                    || (_hls.type == HLSTypes.LIVE && (!_fragMainSN || isNaN(_fragMainInitialPTS)))
+//                    || !_hls.levels[_fragMainLevel].getFragmentfromSeqNum(_fragMainSN)) {
+//                    // Too soon!
+//                    _overlappingTags = _overlappingTags.concat(tags);
+//                    _overlappingMinPTS = Math.min(_overlappingMinPTS, Math.max(tags[0].pts, min_pts));
+//                    return;
+//                }
 //                else if (fragSN >= _fragMainSN) {
 //                    appendTags(HLSLoaderTypes.FRAGMENT_MAIN, fragLevel, _fragMainSN, tags, min_pts, max_pts, continuity, startPosition);
 //                    return;
@@ -506,14 +506,14 @@
             for (i=0; i<_audioTags.length; i++) {
                 data = _audioTags[i];
                 if (data.fragSN > metrics.seqnum) {
-                    _audioTags.splice(i, 1);
+                    _audioTags.splice(i--, 1);
                 }
             }

 //            for (i=0; i<_headerTags.length; i++) {
 //                data = _headerTags[i];
 //                if (data.fragSN > metrics.seqnum) {
-//                    _headerTags.splice(i, 1);
+//                    _headerTags.splice(i--, 1);
 //                }
 //            }

@@ -979,7 +979,7 @@
                     // TODO Are NaN postitions caused by subtitle tags being appended?
                     if (isNaN(data.positionAbsolute)) {
                         //|| (data.positionAbsolute <= absoluteStartPosition && data.loaderType == HLSLoaderTypes.FRAGMENT_SUBTITLES)) {
-                        tags.splice(i,1);
+                        tags.splice(i--, 1);
                         continue;
                     }
                     if (data.positionAbsolute <= absoluteStartPosition) {


StreamBuffer : don't dispatch MEDIA_TIME when playback is completed related to #384

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -66,6 +66,8 @@
         private var _nextExpectedAbsoluteStartPosAltAudio : Number;
         /** is live loading stalled **/
         private var _liveLoadingStalled : Boolean;
+        /** is playback completed **/
+        private var _playbackCompleted : Boolean;
         /* last media time data */
         private var _lastPos : Number;
         private var _lastBufLen : Number;
@@ -83,6 +85,7 @@
             _hls.addEventListener(HLSEvent.PLAYLIST_DURATION_UPDATED, _playlistDurationUpdated);
             _hls.addEventListener(HLSEvent.LAST_VOD_FRAGMENT_LOADED, _lastVODFragmentLoadedHandler);
             _hls.addEventListener(HLSEvent.AUDIO_TRACK_SWITCH, _audioTrackChange);
+            _hls.addEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
         }

         public function dispose() : void {
@@ -91,6 +94,7 @@
             _hls.removeEventListener(HLSEvent.PLAYLIST_DURATION_UPDATED, _playlistDurationUpdated);
             _hls.removeEventListener(HLSEvent.LAST_VOD_FRAGMENT_LOADED, _lastVODFragmentLoadedHandler);
             _hls.removeEventListener(HLSEvent.AUDIO_TRACK_SWITCH, _audioTrackChange);
+            _hls.removeEventListener(HLSEvent.PLAYBACK_COMPLETE, _playbackComplete);
             _timer.stop();
             _fragmentLoader.dispose();
             _altaudiofragmentLoader.dispose();
@@ -161,6 +165,7 @@
                 }
                 flushBuffer();
             }
+            _playbackCompleted = false;
             _timer.start();
         }

@@ -491,8 +496,8 @@
             var pos : Number = position;
             var bufLen : Number = _hls.stream.bufferLength;
             var duration : Number = _playlistDuration;
-            // dispatch media time event only if position/buffer or playlist duration has changed
-            if(pos != _lastPos || bufLen != _lastBufLen || duration != _lastDuration) {
+            // dispatch media time event only if playback not completed AND position/buffer or playlist duration has changed
+            if(!_playbackCompleted && (pos != _lastPos || bufLen != _lastBufLen || duration != _lastDuration)) {
                 _hls.dispatchEvent(new HLSEvent(HLSEvent.MEDIA_TIME, new HLSMediatime(pos, duration, bufLen, backBufferLength, _liveSlidingMain, _liveSlidingAltAudio)));
                 _lastPos = pos;
                 _lastDuration = duration;
@@ -956,7 +961,14 @@
         /** monitor fragment loader stall events, arm a boolean  **/
         private function _liveLoadingStalledHandler(event : HLSEvent) : void {
             _liveLoadingStalled = true;
-        };
+        }
+
+        /** playback complete handler **/
+        private function _playbackComplete(event : HLSEvent) : void {
+            _playbackCompleted = true;
+        }
+
+
     }
 }


add ScriptController.stop(target), called when the target is removed from the scene

--- src/aerys/minko/scene/controller/ScriptController.as
+++ src/aerys/minko/scene/controller/ScriptController.as
@@ -65,6 +65,17 @@
 				update(getTarget(i));
 		}

+		override protected function targetRemovedFromSceneHandler(target	: ISceneNode,
+																  scene		: Scene) : void
+		{
+			super.targetRemovedFromSceneHandler(target, scene);
+
+			var numTargets : uint = this.numTargets;
+
+			for (var i : uint = 0; i < numTargets; ++i)
+				stop(getTarget(i));
+		}
+
 		protected function start(target : ISceneNode) : void
 		{
 			// nothing
@@ -74,5 +85,10 @@
 		{
 			// nothing
 		}
+
+		protected function stop(target : ISceneNode) : void
+		{
+			// nothing
+		}
 	}
 }


Updated version

Updated version

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -22,7 +22,7 @@
 		// More info: https://github.com/zeh/key-action-binder

 		// Constants
-		public static const VERSION:String = "1.8.6";
+		public static const VERSION:String = "1.8.7";

 		[Embed(source = "controllers.json", mimeType='application/octet-stream')]
 		private static const JSON_CONTROLLERS:Class;


Transferred from the Adobe Open Source Subversion Repository

Revision: 3449
Author:   egeorgie@adobe.com
Date:     2008-10-02T02:37:21.697685Z

Log Message:
-----------
Fix ListBase to use unscaledWidth, unscaledHeight instead of explicitly dividing by the scale factor

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -3271,12 +3271,10 @@
             {
                 runDataEffectNextUpdate = false;
                 runningDataEffect = true;
-                initiateDataChangeEffect(scaleX == 0 ? 0 : width / scaleX,
-                                         scaleY == 0 ? 0 : height / scaleY);
+                initiateDataChangeEffect(unscaledWidth, unscaledHeight);
             }
             else
-                updateDisplayList(scaleX == 0 ? 0 : width / scaleX,
-                                  scaleY == 0 ? 0 : height / scaleY);
+                updateDisplayList(unscaledWidth, unscaledHeight);

             invalidateDisplayListFlag = false;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23292
Author:   cframpto@adobe.com
Date:     2012-01-11T19:34:51.110620Z

Log Message:
-----------
Remove AdobePatentID="9999" strings per directions from legal.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/as3/SkinPartExtension.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/mxml/gen/StatesGenerator.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/framework/src/mx/collections/ModifiedCollectionView.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/CompilerAPI.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/as3/SkinPartEvaluator.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/as3/binding/TypeAnalyzer.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/modules/compiler/src/java/flex2/compiler/mxml/rep/StatesModel.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/apache/frameworks/projects/framework/src/mx/states/AddItems.as</path>

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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as
@@ -16,9 +16,6 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-
-// AdobePatentID="B518"
-// AdobePatentID="B519"

 package mx.controls.listClasses
 {


Fixed demo source file

Fixed demo source file

--- src/Main.as
+++ src/Main.as
@@ -1,233 +1,222 @@
-package
-{
-    import flash.display.Bitmap;
-    import flash.display.BitmapData;
-    import flash.display.Sprite;
-    import flash.display.StageAlign;
-    import flash.display.StageScaleMode;
-    import flash.events.Event;
-    import flash.events.MouseEvent;
-    import flash.geom.Point;
-    import flash.text.TextField;
-    import flash.text.TextFormat;
-    import ru.inspirit.asfeat.capture.CaptureDevice;
-    import ru.inspirit.asfeat.capture.CaptureDeviceInfo;
-
-    /**
-     * Simple Demo App
-     * @author Eugene Zatepyakin
-     */
-    [SWF(frameRate='30',backgroundColor='0xFFFFFF')]
-    public final class Main extends Sprite
-    {
-        public var captDevs:Vector.<CaptureDevice>;
-        public var captLabs:Vector.<TextField>;
-        public var _txt:TextField;
-
-        public var scrBitmap:Bitmap;
-        public var scr_bmp:BitmapData;
-
-        public var dev_info:String;
-
-        public function Main():void
-        {
-            stage.scaleMode = StageScaleMode.NO_SCALE;
-            stage.align = StageAlign.TOP_LEFT;
-
-            scr_bmp = new BitmapData(800, 600, false, 0xFFFFFF);
-            scrBitmap = new Bitmap(scr_bmp, 'auto', true);
-            addChild(scrBitmap);
-
-            //
-            _txt = new TextField();
-            _txt.width = 200;
-            _txt.multiline = true;
-            _txt.autoSize = 'left';
-            _txt.background = true;
-            _txt.backgroundColor = 0xffffff;
-            _txt.x = 320;
-            _txt.y = 240;
-
-            addChild(_txt);
-            //
-
-            initCapture();
-        }
-
-        protected function createCaptLab(capt:CaptureDevice):TextField
-        {
-            var lab:TextField;
-
-            var fmt:TextFormat = new TextFormat('_sans',9, 0xffffff,false,false,false,null,null,'left',4,6);
-
-            lab = new TextField();
-            lab.background = true;
-            lab.backgroundColor = 0x0;
-            lab.autoSize = 'left';
-            lab.selectable = false;
-            lab.text = capt.name.toUpperCase()  + ' // ' + capt.width + 'x'+capt.height;
-            lab.setTextFormat(fmt);
-
-            lab.addEventListener(MouseEvent.CLICK, onLabClick);
-
-            return lab;
-        }
-        private function onLabClick(e:MouseEvent):void
-        {
-            var lab:TextField = e.currentTarget as TextField;
-            var ind:int = captLabs.indexOf(lab);
-            if(ind >= 0 && ind < captDevs.length)
-            {
-                var capt:CaptureDevice = captDevs[ind];
-                if(capt.isCapturing)
-                {
-                    capt.stop();
-                } else {
-                    capt.start();
-                }
-            }
-        }
-
-        protected function initCapture():void
-        {
-            CaptureDevice.initialize();
-
-            dev_info = '';
-            dev_info += 'CaptureInterface init: ' + CaptureDevice.available + '\n';
-
-            var dev_inf:Vector.<CaptureDeviceInfo> = CaptureDevice.getDevices(false);
-            captDevs = new Vector.<CaptureDevice>();
-            captLabs = new Vector.<TextField>();
-
-            var capt:CaptureDevice;
-            var lab:TextField;
-
-            var n:int = dev_inf.length;
-            for (var i:int = 0; i < n; ++i)
-            {
-                var dev:CaptureDeviceInfo = dev_inf[i];
-                dev_info += 'Device[' + i + ']: ' + '{ name: '+ dev.name + ', connected: ' + dev.connected +', available: ' + dev.available +' }\n';
-                dev_info += '\ttrying to init: ';
-
-                try
-                {
-                    capt = new CaptureDevice(dev.name, 320, 240);
-                    capt.addEventListener('CAPTURE_DEVICE_LOST', onDeviceLost);
-
-                    lab = createCaptLab(capt);
-
-                    captLabs.push(lab);
-                    addChild(lab);
-
-                    captDevs.push(capt);
-                    dev_info += 'OK';
-                }
-                catch (err:Error)
-                {
-                    dev_info += 'failed :(';
-                }
-
-                dev_info += '\n';
-            }
-
-            // dirty test of dispose method
-            /*
-            setTimeout(function():void
-            {
-                captDevs[1].dispose();
-                removeChild(captLabs[1]);
-                captDevs.splice(1, 1);
-                captLabs.splice(1, 1);
-            }, 5000);
-            */
-
-            if (captDevs.length)
-            {
-                addEventListener(Event.ENTER_FRAME, updateFrame);
-            }
-
-            _txt.text = dev_info;
-        }
-
-        private function onDeviceLost(e:Event):void
-        {
-            var capt:CaptureDevice = e.currentTarget as CaptureDevice;
-
-            // please be carefull
-            // this causes app hand on Mac but works on Windows
-            capt.dispose();
-
-            var n:int = captDevs.length;
-            for (var i:int = 0; i < n; ++i)
-            {
-                if (captDevs[i].id == capt.id)
-                {
-                    captDevs.splice(i, 1);
-
-                    captLabs[i].removeEventListener(MouseEvent.CLICK, onLabClick);
-                    removeChild(captLabs[i]);
-                    captLabs.splice(i,  1);
-
-                    break;
-                }
-            }
-
-            capt.removeEventListener('CAPTURE_DEVICE_LOST', onDeviceLost);
-
-            e.stopImmediatePropagation();
-        }
-
-        private function updateFrame(e:Event):void
-        {
-            var n:int = captDevs.length;
-            var capt:CaptureDevice;
-            var lab:TextField;
-            var isNewFrame:Boolean;
-            var pt:Point = new Point();
-
-            var sw:Number = stage.stageWidth;
-            var sh:Number = stage.stageHeight;
-
-            var _str:String = '\n';
-            for (var i:int = 0; i < n; ++i)
-            {
-                capt = captDevs[i];
-                isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_BITMAP);
-                //isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_RAW_BYTES);
-                //isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_RAW_BYTES | CaptureDevice.GET_FRAME_BITMAP);
-
-                _str += 'device[' + capt.name + '] update ' + isNewFrame + '\n';
-
-                if(isNewFrame)
-                {
-                    pt.x = 320*(i%2);
-                    pt.y = 240*(i>>1);
-
-                    scr_bmp.copyPixels(capt.bmp, capt.bmp.rect, pt);
-                    /*
-                    var raw:ByteArray = capt.raw;
-                    raw.position = 0;
-                    var size:int = capt.width * capt.height;
-                    var cols:Vector.<uint> = new Vector.<uint>(capt.width * capt.height);
-                    for (var j:int = 0; j < size; ++j)
-                    {
-                        var _r:uint = raw.readUnsignedByte();
-                        var _g:uint = raw.readUnsignedByte();
-                        var _b:uint = raw.readUnsignedByte();
-                        cols[j] = _r << 16 | _g << 8 | _b;
-                    }
-                    scr_bmp.setVector(new Rectangle(pt.x + 320, pt.y, capt.width, capt.height), cols);
-                    */
-
-                    lab = captLabs[i];
-                    lab.x = pt.x;
-                    lab.y = pt.y;
-                }
-            }
-
-            _txt.text = dev_info + _str;
-        }
-
-    }
-
+package
+{
+    import flash.display.Bitmap;
+    import flash.display.BitmapData;
+    import flash.display.Sprite;
+    import flash.display.StageAlign;
+    import flash.display.StageScaleMode;
+    import flash.events.Event;
+    import flash.events.MouseEvent;
+    import flash.geom.Point;
+    import flash.text.TextField;
+    import flash.text.TextFormat;
+    import ru.inspirit.capture.CaptureDevice;
+    import ru.inspirit.capture.CaptureDeviceInfo;
+
+    /**
+     * Simple Demo App
+     * @author Eugene Zatepyakin
+     */
+    [SWF(frameRate='30',backgroundColor='0xFFFFFF')]
+    public final class Main extends Sprite
+    {
+        public var captDevs:Vector.<CaptureDevice>;
+        public var captLabs:Vector.<TextField>;
+        public var _txt:TextField;
+
+        public var scrBitmap:Bitmap;
+        public var scr_bmp:BitmapData;
+
+        public var dev_info:String;
+
+        public function Main():void
+        {
+            stage.scaleMode = StageScaleMode.NO_SCALE;
+            stage.align = StageAlign.TOP_LEFT;
+
+            scr_bmp = new BitmapData(800, 600, false, 0xFFFFFF);
+            scrBitmap = new Bitmap(scr_bmp, 'auto', true);
+            addChild(scrBitmap);
+
+            //
+            _txt = new TextField();
+            _txt.width = 200;
+            _txt.multiline = true;
+            _txt.autoSize = 'left';
+            _txt.background = true;
+            _txt.backgroundColor = 0xffffff;
+            _txt.x = 320;
+            _txt.y = 240;
+
+            addChild(_txt);
+            //
+
+            initCapture();
+        }
+
+        protected function createCaptLab(capt:CaptureDevice):TextField
+        {
+            var lab:TextField;
+
+            var fmt:TextFormat = new TextFormat('_sans',9, 0xffffff,false,false,false,null,null,'left',4,6);
+
+            lab = new TextField();
+            lab.background = true;
+            lab.backgroundColor = 0x0;
+            lab.autoSize = 'left';
+            lab.selectable = false;
+            lab.text = capt.name.toUpperCase()  + ' // ' + capt.width + 'x'+capt.height;
+            lab.setTextFormat(fmt);
+
+            lab.addEventListener(MouseEvent.CLICK, onLabClick);
+
+            return lab;
+        }
+        private function onLabClick(e:MouseEvent):void
+        {
+            var lab:TextField = e.currentTarget as TextField;
+            var ind:int = captLabs.indexOf(lab);
+            if(ind >= 0 && ind < captDevs.length)
+            {
+                var capt:CaptureDevice = captDevs[ind];
+                if(capt.isCapturing)
+                {
+                    capt.stop();
+                } else {
+                    capt.start();
+                }
+            }
+        }
+
+        protected function initCapture():void
+        {
+            CaptureDevice.initialize();
+
+            dev_info = '';
+            dev_info += 'CaptureInterface init: ' + CaptureDevice.available + '\n';
+
+            var dev_inf:Vector.<CaptureDeviceInfo> = CaptureDevice.getDevices(false);
+            captDevs = new Vector.<CaptureDevice>();
+            captLabs = new Vector.<TextField>();
+
+            var capt:CaptureDevice;
+            var lab:TextField;
+
+            var n:int = dev_inf.length;
+            for (var i:int = 0; i < n; ++i)
+            {
+                var dev:CaptureDeviceInfo = dev_inf[i];
+                dev_info += 'Device[' + i + ']: ' + '{ name: '+ dev.name + ', connected: ' + dev.connected +', available: ' + dev.available +' }\n';
+                dev_info += '\ttrying to init: ';
+
+                try
+                {
+                    capt = new CaptureDevice(dev.name, 320, 240);
+                    capt.addEventListener('CAPTURE_DEVICE_LOST', onDeviceLost);
+
+					// setup for specific data
+					capt.setupForDataType(CaptureDevice.GET_FRAME_BITMAP);
+
+                    lab = createCaptLab(capt);
+
+                    captLabs.push(lab);
+                    addChild(lab);
+
+                    captDevs.push(capt);
+                    dev_info += 'OK';
+                }
+                catch (err:Error)
+                {
+                    dev_info += 'failed :(';
+                }
+
+                dev_info += '\n';
+            }
+
+            // dirty test of dispose method
+            /*
+            setTimeout(function():void
+            {
+                captDevs[1].dispose();
+                removeChild(captLabs[1]);
+                captDevs.splice(1, 1);
+                captLabs.splice(1, 1);
+            }, 5000);
+            */
+
+            if (captDevs.length)
+            {
+                addEventListener(Event.ENTER_FRAME, updateFrame);
+            }
+
+            _txt.text = dev_info;
+        }
+
+        private function onDeviceLost(e:Event):void
+        {
+            var capt:CaptureDevice = e.currentTarget as CaptureDevice;
+
+            // please be carefull
+            // this causes app hand on Mac but works on Windows
+            capt.dispose();
+
+            var n:int = captDevs.length;
+            for (var i:int = 0; i < n; ++i)
+            {
+                if (captDevs[i].id == capt.id)
+                {
+                    captDevs.splice(i, 1);
+
+                    captLabs[i].removeEventListener(MouseEvent.CLICK, onLabClick);
+                    removeChild(captLabs[i]);
+                    captLabs.splice(i,  1);
+
+                    break;
+                }
+            }
+
+            capt.removeEventListener('CAPTURE_DEVICE_LOST', onDeviceLost);
+
+            e.stopImmediatePropagation();
+        }
+
+        private function updateFrame(e:Event):void
+        {
+            var n:int = captDevs.length;
+            var capt:CaptureDevice;
+            var lab:TextField;
+            var isNewFrame:Boolean;
+            var pt:Point = new Point();
+
+            var sw:Number = stage.stageWidth;
+            var sh:Number = stage.stageHeight;
+
+            var _str:String = '\n';
+            for (var i:int = 0; i < n; ++i)
+            {
+                capt = captDevs[i];
+                isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_BITMAP);
+                //isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_RAW_BYTES);
+                //isNewFrame = capt.requestFrame(CaptureDevice.GET_FRAME_RAW_BYTES | CaptureDevice.GET_FRAME_BITMAP);
+
+                _str += 'device[' + capt.name + '] update ' + isNewFrame + '\n';
+
+                if(isNewFrame)
+                {
+                    pt.x = 320*(i%2);
+                    pt.y = 240*(i>>1);
+
+                    scr_bmp.copyPixels(capt.bmp, capt.bmp.rect, pt);
+
+                    lab = captLabs[i];
+                    lab.x = pt.x;
+                    lab.y = pt.y;
+                }
+            }
+
+            _txt.text = dev_info + _str;
+        }
+
+    }
+
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19402
Author:   mhorn@adobe.com
Date:     2010-12-15T20:52:49.446395Z

Log Message:
-----------
Temporary ASDoc updates for bug fix SDK-28907

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridSortItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/advancedgrids/src/mx/controls/AdvancedDataGridBaseEx.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/CursorManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/DragManager.as</path>

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

--- frameworks/projects/framework/src/mx/managers/DragManager.as
+++ frameworks/projects/framework/src/mx/managers/DragManager.as
@@ -37,7 +37,7 @@
  *  Skin used to draw the default drag image,
  *  which is also called the drag proxy.
  *
- *  @default mx.skins.halo.DefaultDragImage
+ *  @default mx.skins.halo.DefaultDragImage (for both Halo and Spark themes)
  *
  *  @langversion 3.0
  *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 9319
Author:   peterson@adobe.com
Date:     2009-08-14T21:38:48.754866Z

Log Message:
-----------
Added missing ASDoc version tagging as part of fix for Watson bug 2402680. Code compiles and checkintests pass.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/messages/MessagePerformanceUtils.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
+++ frameworks/projects/rpc/src/mx/messaging/config/ConfigMap.as
@@ -26,6 +26,12 @@
 /**
  *  The ConfigMap class provides a mechanism to store the properties returned
  *  by the server with the ordering of the properties maintained.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public dynamic class ConfigMap extends Proxy
 {
@@ -39,6 +45,12 @@
      * Constructor.
      *
      * @param item An Object containing name/value pairs.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function ConfigMap(item:Object = null)
     {
@@ -59,6 +71,12 @@

     /**
      *  Contains a list of all of the property names for the proxied object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     object_proxy var propertyList:Array;

@@ -91,6 +109,12 @@
      *  inspecting the localName property.
      *
      *  @return The value of the property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function getProperty(name:*):*
     {
@@ -111,6 +135,12 @@
      *  called method.
      *
      *  @return The return value of the called method.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function callProperty(name:*, ... rest):*
     {
@@ -126,6 +156,12 @@
      *  inspecting the localName property.
      *
      *  @return A Boolean indicating if the property was deleted.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function deleteProperty(name:*):Boolean
     {
@@ -160,6 +196,12 @@
      *  otherwise false.
      *
      *  @see flash.utils.Proxy#hasProperty()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function hasProperty(name:*):Boolean
     {
@@ -176,6 +218,12 @@
      *  @return The property's name.
      *
      *  @see flash.utils.Proxy#nextName()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function nextName(index:int):String
     {
@@ -192,6 +240,12 @@
      *  @return The zero-based index of the next proprety.
      *
      *  @see flash.utils.Proxy#nextNameIndex()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function nextNameIndex(index:int):int
     {
@@ -215,6 +269,12 @@
      *  @return The property's value.
      *
      *  @see flash.utils.Proxy#nextValue()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function nextValue(index:int):*
     {
@@ -229,6 +289,12 @@
      *  should be updated on the proxied object.
      *
      *  @param value Value that should be set on the proxied object.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     override flash_proxy function setProperty(name:*, value:*):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9309
Author:   jimurphy@adobe.com
Date:     2009-08-14T12:57:06.648526Z

Log Message:
-----------
Merged 3.x revisions 8758,8762-8763,8765,8844-8845,8906,8970,9030,9049,9055,9096-9097,9191,9208,9221,9228,9242,9278 -> trunk

Modified Paths:
--------------
<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/framework/src/mx/controls/MenuBar.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/ObjectUtil.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/framework/src/mx/events/RSLEvent.as</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/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/formatters/DateFormatter.as</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/resources/LocaleSorter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/HTTPService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as</path>

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

--- frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as
+++ frameworks/projects/rpc/src/mx/rpc/xml/IXMLSchemaInstance.as
@@ -23,11 +23,6 @@
  * QName.</p>
  *
  * @see mx.utils.ObjectProxy
- *
- *  @langversion 3.0
- *  @playerversion Flash 9
- *  @playerversion AIR 1.1
- *  @productversion Flex 3
  */
 public interface IXMLSchemaInstance
 {
@@ -43,11 +38,6 @@
      * implementations of this property to exclude it during object
      * serialization.
      * </p>
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
      */
     function get xsiType():QName;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19665
Author:   eday@adobe.com
Date:     2011-01-09T19:46:39.597874Z

Log Message:
-----------
Bounce/pull bug fixes

QE notes:
Doc notes:
Bugs: SDK-29046, SDK-28972
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/spark/src/spark/components/HScrollBar.as
+++ frameworks/projects/spark/src/spark/components/HScrollBar.as
@@ -294,8 +294,8 @@
         {
             if (!fixedThumbSize)
             {
-                // The minimum size we'll shrink the thumb to is either thumb.height or thumbSize: whichever is smaller.
-                thumbSize = Math.max(Math.min(thumb.height, thumbSize), thumbSize + pendingValue);
+                // The minimum size we'll shrink the thumb to is either thumb.minWidth or thumbSize: whichever is smaller.
+                thumbSize = Math.max(Math.min(thumb.minWidth, thumbSize), thumbSize + pendingValue);
             }
             thumbPosTrackX = min;
         }
@@ -303,8 +303,8 @@
         {
             if (!fixedThumbSize)
             {
-                // The minimum size we'll shrink the thumb to is either thumb.height or thumbSize: whichever is smaller.
-                thumbSize = Math.max(Math.min(thumb.height, thumbSize), thumbSize - (pendingValue - max));
+                // The minimum size we'll shrink the thumb to is either thumb.minWidth or thumbSize: whichever is smaller.
+                thumbSize = Math.max(Math.min(thumb.minWidth, thumbSize), thumbSize - (pendingValue - max));
             }
             thumbPosTrackX = trackSize - thumbSize;
         }


Added method for reporting when a test starts.

--- flash/org/windmill/astest/ASTest.as
+++ flash/org/windmill/astest/ASTest.as
@@ -104,6 +104,7 @@
     public static function runNextTest():void {
       var test:Object = null;
       var res:*; // Result from ExternalInterface calls
+      var data:Object;
       // If we're idling in a wait, just move along ...
       // Nothing to see here
       if (ASTest.waiting) {
@@ -119,7 +120,7 @@
       // test actually starts
       if (ASTest.previousTest) {
         test = ASTest.previousTest;
-        var data:Object = {
+        data = {
           test: {
             className: test.className,
             methodName: test.methodName
@@ -158,6 +159,12 @@
         // at the beginning of the next call
         ASTest.previousTest = test;

+        data = {
+          test: {
+            className: test.className,
+            methodName: test.methodName
+          }
+        };
         res = ExternalInterface.call('wm_asTestStart', data);
         if (!res) {
           WMLogger.log('Running ' + test.className + '.' + test.methodName + ' ...');


M Remove spaces

M Remove spaces

--- src/aerys/minko/render/resource/texture/CubeTextureResource.as
+++ src/aerys/minko/render/resource/texture/CubeTextureResource.as
@@ -69,8 +69,6 @@
 		public function setSize(w : uint, h : uint) : void
 		{
 			_size = w;
-
-
 		}

 		public function setContentFromBitmapDatas(right 	: BitmapData,


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/framework/src/mx/core/ContainerCreationPolicy.as
+++ frameworks/projects/framework/src/mx/core/ContainerCreationPolicy.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-2006 Adobe Systems Incorporated
-//  All Rights Reserved.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
 //
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 18020
Author:   jon.avila@ssbbartgroup.com
Date:     2010-10-05T19:08:16.803291Z

Log Message:
-----------
Multiple ComboBoxAccImpl and DropDownListBaseAccImpl fixes:
1.       State of collapsed on child items removed
2.       State of invisible set on collapsed child list item set
3.       AccSelect should now work on combobox and edit child
4.       Incorrect focus event firing when typing removed (off by one error on indexChangeEvents)
5.       Last item in listbox being reported with name of prior item, accNavigate not working on last item (off by one error)
6.       accFocus should now return edit field when drop down list is collapsed fixed
7.       Edit child and combo box now have state of focused set when actually focused
8.       focus change events removed when combo box is closed and items are selected with arrow keys.  Value change events fire on the combo box.  Focus events removed because they would be for invisible items
9.    Focus now properly returns to edit combo when combo box is closed.  Focus change event is also fired now.  Caret is placed at start of line.

QE notes:
Doc notes:
Bugs: SDK-26242, SDK-26091, SDK-25837
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/DropDownListBaseAccImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as</path>

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

--- frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/ComboBoxAccImpl.as
@@ -305,11 +305,31 @@
      */
     override public function get_accState(childID:uint):uint
     {
-        if (childID <= 1)
-            return  super.get_accState(0);
-        else {
-            return super.get_accState(ComboBox(master).isDropDownOpen ? childID -1 : 0);
+        // let the super class handle the states for list items
+        if (childID > 1)
+            return super.get_accState(childID -1);
+
+        var accState:uint = super.get_accState(0);
+
+        // The inner text field has focus and not the combo box itself thus we
+        // need to overwrite the default logic in accImpl here to indicate that
+        // this input field and combo box are focused when they are actually
+        // focused.  Set focus for the main component child id 0 or the 1st
+        // child edit field if the component is focused
+        if (master.getFocus() && master.owns(master.getFocus()))
+        {
+            accState |= AccConst.STATE_SYSTEM_FOCUSED;
         }
+
+        // Remove the state of collapsed from the child edit field that was
+        // added by the super class for the component and the edit child.
+        // Both are set by the super class because it sees them both as
+        // child id 0 and thus differentiation cannot be performed in the
+        // super class
+        if (childID == 1)
+            accState &= ~AccConst.STATE_SYSTEM_COLLAPSED;
+
+        return accState;
     }

     /**
@@ -349,7 +369,9 @@
     override public function getChildIDArray():Array
     {
         var childIDArray:Array = super.getChildIDArray();
-        childIDArray[childIDArray.length] = childIDArray.length;
+
+        // 1 for first child edit field
+        childIDArray[childIDArray.length] = childIDArray.length+1;
         return childIDArray;
     }

@@ -364,7 +386,12 @@
     override public function get_accFocus():uint
     {
         var index:uint = super.get_accFocus();
-        return index > 0 ? index + 1 : 0;
+        if (ComboBox(master).isDropDownOpen)
+            return index > 0 ? index + 1 : 0;
+        else if (master.getFocus() && master.owns(master.getFocus()))
+            return 1;  // return child edit field if it is focused
+
+        return 0;
     }

     /**
@@ -395,6 +422,8 @@
     {
         if (childID > 1 )
             super.accSelect(selFlag, childID - 1)
+        else if (childID <= 1 && ComboBox(master).textInput)
+            ComboBox(master).setFocus();
     }

     /**
@@ -437,44 +466,92 @@
     override protected function eventHandler(event:Event):void
     {
         var textInput:TextInput;
-        if (event is IndexChangeEvent)
-        {
-            var tweaked_event:Event = event.clone();
-            IndexChangeEvent(tweaked_event).oldIndex += 1;
-            IndexChangeEvent(tweaked_event).newIndex += 1;
-            super.eventHandler(tweaked_event);
-        }

         switch (event.type)
         {
             case "open":
             {
                 Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_STATECHANGE);
+
+                var sIndex:uint = ComboBox(master).selectedIndex;
+                if (sIndex >= 0)
+                {
+                    // when the combo box is opened, fire an event indicating
+                    // which item is selected/focused (focus and selection are the
+                    // same for the combo box
+                    Accessibility.sendEvent(master, sIndex + 2,
+                        AccConst.EVENT_OBJECT_FOCUS);
+                }
                 break;
             }

             case "focusIn":
             {
                 Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_FOCUS);
+                if (master.getFocus() == master && ComboBox(master).textInput)
+                {
+                    // when the component receives focus, focus the text input
+                    // field of the combobox
+                    ComboBox(master).textInput.setFocus();
+                }
                 break;
             }

             case "caretChange":
             {
                 var index:uint = IndexChangeEvent(event).newIndex;
-                var childID:uint = index + 2;
-                if (!ComboBox(master).isDropDownOpen) {
-                    Accessibility.sendEvent(master, 0,
+                // childIDs are 1 based, a plus two offset is used because the
+                // first child is an edit field and not a list item
+                var childID:uint = index + 2;
+
+                Accessibility.sendEvent(master, 0,
                         AccConst.EVENT_OBJECT_VALUECHANGE);
-                    Accessibility.sendEvent(master, 1,
+                Accessibility.sendEvent(master, 1,
                         AccConst.EVENT_OBJECT_VALUECHANGE);
-					Accessibility.sendEvent(master, childID,
-						AccConst.EVENT_OBJECT_FOCUS);
+                // This event will fire for the opened and close combo box
+                // normally this only fires on open comboboxes but it is fired
+                // for closed comboboxes to support screen readers
+                if (ComboBox(master).isDropDownOpen && index >=0 && index < ComboBox(master).dataProvider.length)
+                {
+                	Accessibility.sendEvent(master, childID,
+						AccConst.EVENT_OBJECT_FOCUS);
                 }

                 break;
             }
-
+
+            case "change":
+            {
+                index = IndexChangeEvent(event).newIndex;
+
+                if (index >= 0 && ComboBox(master).isDropDownOpen)
+                {
+                    // childIDs are 1 based, a plus two offset is used because the
+                    // first child is an edit field and not a list item
+                    childID = index + 2;
+                    Accessibility.sendEvent(master, childID,
+                                            AccConst.EVENT_OBJECT_SELECTION);
+                }
+                break;
+            }
+
+            case "close":
+            {
+                if (master.getFocus() && master.owns(master.getFocus())
+                    && ComboBox(master).textInput)
+                {
+                    ComboBox(master).textInput.textDisplay.setFocus();
+                    // place the cursor at the beginning of the field, otherwise
+                    // text cannot be entered and characters can not be reviewed
+                    // without tabbing in and out, or pressing up or down arrows
+                    // changing the values
+                    ComboBox(master).textInput.selectRange(0,0);
+                    Accessibility.sendEvent(master, 1, AccConst.EVENT_OBJECT_FOCUS);
+                }
+
+                break;
+            }
+
             case SkinPartEvent.PART_ADDED:
             {
                 textInput = ComboBox(master).textInput;
@@ -511,6 +588,7 @@
     {
         Accessibility.sendEvent(master, 0, AccConst.EVENT_OBJECT_VALUECHANGE);
     }
+
 }


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@1278106 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.as
+++ frameworks/projects/spark/src/spark/accessibility/TextBaseAccImpl.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 spark.accessibility
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10178
Author:   rfrishbe@adobe.com
Date:     2009-09-11T22:36:24.712602Z

Log Message:
-----------
This is a bug fix for setting AIR Window/WindowedApplication visibility when a hideEffect is installed.  We need to dispatch the HIDE event for the effect to play.  Then, when the effect is finished, we can remove that event listener and set the visibility to false.

I've already checked the fixes in for the Halo versions in to 3.x with 10177.

QE notes: -
Doc notes: -
Bugs: SDK-14615
Reviewer: Darrell
Tests run: checkintests, Rob helped run the mustella tests for Window/WindowedApplication
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>

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

--- frameworks/projects/airspark/src/spark/components/WindowedApplication.as
+++ frameworks/projects/airspark/src/spark/components/WindowedApplication.as
@@ -894,8 +894,8 @@
                     else
                     {
                         _nativeWindow.visible = value;
-                        dispatchEvent(e);
                     }
+                    dispatchEvent(e);
                 }
             }
         }
@@ -2287,9 +2287,9 @@
      */
     private function hideEffectEndHandler(event:Event):void
     {
-        _nativeWindow.visible = false;
-
-        dispatchEvent(new FlexEvent(FlexEvent.HIDE));
+        if (!_nativeWindow.closed)
+            _nativeWindow.visible = false;
+        removeEventListener(EffectEvent.EFFECT_END, hideEffectEndHandler);
     }

     /**


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@1268700 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.as
+++ frameworks/projects/mx/src/mx/controls/colorPickerClasses/SwatchPanel.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.controls.colorPickerClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/events/MessagePersisterEvent.as
+++ frameworks/projects/rpc/src/mx/messaging/events/MessagePersisterEvent.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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.
+//  Licensed to the Apache Software Foundation (ASF) under one or more
+//  contributor license agreements.  See the NOTICE file distributed with
+//  this work for additional information regarding copyright ownership.
+//  The ASF licenses this file to You under the Apache License, Version 2.0
+//  (the "License"); you may not use this file except in compliance with
+//  the License.  You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+//  Unless required by applicable law or agreed to in writing, software
+//  distributed under the License is distributed on an "AS IS" BASIS,
+//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//  See the License for the specific language governing permissions and
+//  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 19800
Author:   hmuller@adobe.com
Date:     2011-01-19T17:43:25.081406Z

Log Message:
-----------
GridLayout optimization for GridItemRenderer (custom) item renderers.

IGridItemRenderer ASDoc cleanup.

Removed unused mx_internal method Grid/getDataProviderItemIndex().

GridColumnHeaderGroupLayout sets renderer owner property to dataGrid, as in GridLayout.

QE notes: One Mustella test screenshot to be revised (Jody)
Doc notes:
Bugs:
Reviewer: Carol
Tests run: checkin, mustella
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/UITextFieldGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/IGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridColumnHeaderGroupLayout.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -27,6 +27,8 @@
 import mx.events.CollectionEvent;
 import mx.events.CollectionEventKind;
 import mx.events.PropertyChangeEvent;
+import mx.managers.ILayoutManagerClient;
+import mx.managers.LayoutManager;

 import spark.components.DataGrid;
 import spark.components.Grid;
@@ -2064,13 +2066,6 @@

         element.visible = false;

-        // Reset GridItemRenderers back to (0,0), otherwise when the element is reused
-        // it will be validated at its last layout size which causes problems with
-        // text reflow.
-
-        if (element is GridItemRenderer)
-            element.setLayoutBoundsSize(0, 0, false);
-
         const factory:IFactory = elementToFactoryMap[element];
         if (!factory)
             return false;
@@ -2138,35 +2133,32 @@
         if (enablePerformanceStatistics)
             startTime = getTimer();

-        const validatingElt:IInvalidating = renderer as IInvalidating;
-        if (renderer is IUITextField)  // TODO (hmuller) distinguish this special case differently
-        {
-            if (!isNaN(width) || !isNaN(height))
-                renderer.setLayoutBoundsSize(width, height);
-            if (validatingElt)
-                validatingElt.validateNow();
-        }
-        else
-        {
-            if (!isNaN(width) || !isNaN(height))
-            {
-                if (validatingElt)
-                {
-                    if (validatingElt is IGraphicElement)
-                        validateGraphicElement(IGraphicElement(validatingElt));
-                    else
-                        validatingElt.validateNow();
-                }
-                renderer.setLayoutBoundsSize(width, height);
-            }
-            if (validatingElt)
-            {
-                if (validatingElt is IGraphicElement)
-                    validateGraphicElement(IGraphicElement(validatingElt));
-                else
-                    validatingElt.validateNow();
-            }
-        }
+        const validateNowRenderer:IInvalidating = renderer as IInvalidating;
+        const graphicElementRenderer:IGraphicElement = renderer as IGraphicElement;
+
+        if (!isNaN(width) || !isNaN(height))
+        {
+            const validateClientRenderer:ILayoutManagerClient = renderer as ILayoutManagerClient
+            if (validateClientRenderer)
+            {
+                LayoutManager.getInstance().validateClient(validateClientRenderer, true); // true => skip validateDisplayList()
+            }
+            else if (graphicElementRenderer)
+            {
+                graphicElementRenderer.validateProperties();
+                graphicElementRenderer.validateSize();
+            }
+
+            renderer.setLayoutBoundsSize(width, height);
+        }
+
+        // For graphic elements we don't want to call validateNow() since it calls
+        // validateClient on the parent of the graphic element which is the GridLayer.
+
+        if (graphicElementRenderer)
+            graphicElementRenderer.validateDisplayList();
+        else if (validateNowRenderer)
+            validateNowRenderer.validateNow();

         renderer.setLayoutBoundsPosition(x, y);

@@ -2177,20 +2169,6 @@
         }
     }

-    /*
-     * For graphic elements we don't want to call validateNow() since it calls
-     * validateClient on the parent of the graphic element which is the GridLayer.
-     * Every time a graphic element is added to the GridLayer a redraw is requested of the
-     * GridLayer which includes validating all the existing graphic elements.  The redraw of the
-     * GridLayer will be done later.
-     */
-    private function validateGraphicElement(graphicElt:IGraphicElement):void
-    {
-        graphicElt.validateProperties();
-        graphicElt.validateSize();
-        graphicElt.validateDisplayList();
-    }
-
     private function layoutGridElementR(elt:IVisualElement, bounds:Rectangle):void
     {
         if (bounds)


Transferred from the Adobe Open Source Subversion Repository

Revision: 3341
Author:   rfrishbe@adobe.com
Date:     2008-09-24T23:10:20.245436Z

Log Message:
-----------
Changing the definition of some methods in SkinnableComponent.  So instead of:

protected function partAdded(partName:String, instance:*):void

We now have:

protected function partAdded(partName:String, instance:Object):void

Technically this just means we can't support the value of "undefined" anymore.  This change was made to partAdded(), partRemoved(), createPartInstance(), removePartInstance(), and getDyanamicPartAt().

As I was making these changes in all the files that override these methods, I noticed Slider should have a partRemoved() method, so I added it.

I also made a minor change in Selector where there was a bug in the dataProvider collectionChange eventHandler.  Basically we were doing remove code on replace rather than remove.

QE: Yes - This will break (as in, it won't compile) some tests in SkinnableComponent.  Joann will change them soon after I checkin.
Doc: Yes
Bugs: SDK-16640, SDK-16709
Reviewer: Hans

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/DataComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Selector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/ItemsComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/Scroller.as</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -153,7 +153,7 @@
     /**
      *  @private
      */
-    override protected function partAdded(partName:String, instance:*):void
+    override protected function partAdded(partName:String, instance:Object):void
     {
         // TODO: autoRepeat as a property on Spinner?
         if (instance == incrementButton)
@@ -175,7 +175,7 @@
     /**
      *  @private
      */
-    override protected function partRemoved(partName:String, instance:*):void
+    override protected function partRemoved(partName:String, instance:Object):void
     {
         if (instance == incrementButton)
         {


Fixed 'saving spawnables returning junk' bug

--- flexEditor/src/org/arisgames/editor/view/SpawnableEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/SpawnableEditorView.as
@@ -139,8 +139,14 @@
 		{
 			trace("SpawnableEditorView: handleSaveAndCloseButton()");
 			this.populateSpawnableFromForm();
-			AppServices.getInstance().saveSpawnableForObject(GameModel.getInstance().game.gameId, this.objectPaletteItem, this.spawnable, new Responder(handleLoadingOfSpawnable, handleFault));
+			AppServices.getInstance().saveSpawnableForObject(GameModel.getInstance().game.gameId, this.objectPaletteItem, this.spawnable, new Responder(handleSavingOfSpawnable, handleFault));
 			PopUpManager.removePopUp(this);
+		}
+
+		private function handleSavingOfSpawnable(obj:Object):void
+		{
+			if(obj.result.returnCode != 0)
+				Alert.show("There was an error saving the spawn settings.");
 		}

 		private function handleLoadingOfSpawnable(obj:Object):void


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@1290561 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/advancedgrids/src/mx/olap/IOLAPQueryAxis.as
+++ frameworks/projects/advancedgrids/src/mx/olap/IOLAPQueryAxis.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
 {