handle offline muc messages

handle offline muc messages

--- src/org/igniterealtime/xiff/data/XMPPStanza.as
+++ src/org/igniterealtime/xiff/data/XMPPStanza.as
@@ -509,7 +509,7 @@
 		 * @see http://xmpp.org/extensions/xep-0091.html
 		 * @see http://xmpp.org/extensions/xep-0082.html
 		 */
-		protected function get delayedDelivery():Date
+		public function get delayedDelivery():Date
 		{
 			var stamp:Date;
 			var list:XMLList = xml.children().(localName() == "delay");


:bug: STOP

:bug: STOP

--- index.as
+++ index.as
@@ -298,13 +298,13 @@
   } else if address <= 0x7FFF {
     // This area may contain any of the further 16KByte banks of the ROM,
     // allowing to address up to 125 ROM Banks (almost 2MByte).
-    *ptr = *((rom + (mmu_mbc1_rom_bank * 0x4000)) + (address - 0x4000));
+    *ptr = *(rom + (uint64(mmu_mbc1_rom_bank) * 0x4000) + (uint64(address) - 0x4000));
   } else if address >= 0xA000 and address <= 0xBFFF {
     // External RAM
     let eram_size = rom_get_ext_ram_size();
     let offset = address - 0xA000;
     if mmu_mbc1_ram_enable and offset < eram_size {
-      *ptr = *((eram + (mmu_mbc1_ram_bank * 0x2000)) + offset);
+      *ptr = *((eram + (uint64(mmu_mbc1_ram_bank) * 0x2000)) + offset);
     } else {
       // External RAM is not enabled
       *ptr = 0xFF;
@@ -359,10 +359,10 @@
     }
   } else if address >= 0xA000 and address <= 0xBFFF {
     // External RAM
-    let eram_size = rom_get_ext_ram_size();
-    let offset = address - 0xA000;
+    let eram_size = uint64(rom_get_ext_ram_size());
+    let offset = uint64(address) - 0xA000;
     if mmu_mbc1_ram_enable and offset < eram_size {
-      *((eram + (mmu_mbc1_ram_bank * 0x2000)) + offset) = value;
+      *((eram + (uint64(mmu_mbc1_ram_bank) * 0x2000)) + offset) = value;
     }
   } else {
     // Unhandled
@@ -620,7 +620,7 @@
   *(optable + 0x0E) = op_0E;
   *(optable + 0x0F) = op_0F;

-  // TODO: *(optable + 0x10) = op_10;
+  *(optable + 0x10) = op_10;
   *(optable + 0x11) = op_11;
   *(optable + 0x12) = op_12;
   *(optable + 0x13) = op_13;
@@ -1838,7 +1838,10 @@
   flag_set(FLAG_Z, false);
 }

-// TODO: [10] STOP
+// [10] STOP
+def op_10() {
+  cpu_stop = true;
+}

 // [11] LD DE, nn
 def op_11() {
@@ -4417,6 +4420,7 @@
 // [CP] CPU
 // =============================================================================
 let cpu_skip;
+let cpu_stop = false;

 def cpu_init() {
   // Memory
@@ -4441,6 +4445,7 @@

 def cpu_reset() {
   cpu_skip = false;
+  cpu_stop = false;

   // CPU variables
   PC = 0x0100;
@@ -4450,7 +4455,7 @@

   // CPU registers
   AF = 0x01B0;
-  BC = 0x0013;
+  BC = 0x1300;
   DE = 0x00D8;
   HL = 0x014D;

@@ -4497,6 +4502,13 @@
 def cpu_step(): uint8 {
   CYCLES = 0;

+  // IF STOP; just return 0
+  if cpu_stop {
+    // STOP stops the world (until a joypad interrupt)
+    // FIXME: Allow joypad to resume STOP
+    return 0;
+  }
+
   // IF HALT; just return 4 (cycles)
   if HALT {
     if (IE & IF & 0x1F) == 0 {
@@ -4507,6 +4519,11 @@
   }

   // STEP -> Interrupts
+  if (IE & 0x02) != 0 {
+    printf("not implemented: STAT interrupt (enabled)\n");
+    exit(0);
+  }
+
   let irq = IF & IE;
   if IME and irq > 0 {
     om_push16(&PC);


:bug: DAA always clears H

:bug: DAA always clears H

--- index.as
+++ index.as
@@ -1811,13 +1811,8 @@
     flag_set(FLAG_C, true);
   }

-  if flag_get(FLAG_N) {
-    if flag_get(FLAG_H) {
-      flag_set(FLAG_H, (*A & 0xF) <= 5);
-    }
-  } else {
-    flag_set(FLAG_H, (*A & 0xF) > 9);
-  }
+  // NOTE: Half-carry is always unset (unlike a Z-80)
+  flag_set(FLAG_H, false);

   *A = uint8(r & 0xFF);


Respect the library's mipmap setting for ATF textures too.

--- runtime/src/main/as/flump/display/Loader.as
+++ runtime/src/main/as/flump/display/Loader.as
@@ -115,7 +115,7 @@
         ByteArray(bytes).position = 0; // reset the read head
         var scale :Number = atlas.scaleFactor;
         if (_lib.textureFormat == "atf") {
-            baseTextureLoaded(Texture.fromAtfData(bytes, scale), atlas);
+            baseTextureLoaded(Texture.fromAtfData(bytes, scale, _libLoader.generateMipMaps), atlas);
             ByteArray(bytes).clear();
         } else {
             const atlasFuture :Future = loader.loadFromBytes(bytes, _pngLoaders);


improved error messages

improved error messages

--- WeaveCore/src/weave/core/ExternalSessionStateInterface.as
+++ WeaveCore/src/weave/core/ExternalSessionStateInterface.as
@@ -59,7 +59,7 @@
 				return state;
 			}

-			externalWarning("No ILinkableObject from which to get session state at path " + Compiler.stringify(objectPath));
+			externalWarning("No ILinkableObject from which to get session state at path {0}", Compiler.stringify(objectPath));
 			return null;
 		}

@@ -91,7 +91,7 @@
 				return true;
 			}

-			externalError("No ILinkableObject for which to set session state at path " + Compiler.stringify(objectPath));
+			externalError("No ILinkableObject for which to set session state at path {0}", Compiler.stringify(objectPath));
 			return false;
 		}

@@ -123,7 +123,7 @@
 				return (WeaveAPI.SessionManager as SessionManager).getLinkablePropertyNames(object);
 			}

-			externalWarning("No ILinkableObject for which to get child names at path " + Compiler.stringify(objectPath));
+			externalWarning("No ILinkableObject for which to get child names at path {0}", Compiler.stringify(objectPath));
 			return null;
 		}

@@ -141,7 +141,7 @@
 				return true;
 			}

-			externalError("No ILinkableHashMap for which to reorder children at path " + Compiler.stringify(hashMapPath));
+			externalError("No ILinkableHashMap for which to reorder children at path {0}", Compiler.stringify(hashMapPath));
 			return false;
 		}

@@ -155,11 +155,11 @@
 			var classDef:Class = ClassUtils.getClassDefinition(classQName);
 			if (classDef == null)
 			{
-				externalError("No class definition for " + Compiler.stringify(classQName));
+				externalError("No class definition for {0}", Compiler.stringify(classQName));
 				return false;
 			}
 			if (ClassUtils.isClassDeprecated(classQName))
-				externalWarning(objectType + " is deprecated.");
+				externalWarning("{0} is deprecated.", objectType);

 			// stop if there is no path specified
 			if (!objectPath || !objectPath.length)
@@ -195,7 +195,7 @@
 			if (child && child.constructor == classDef)
 				return true;

-			externalError(StandardLib.substitute("Request for {0} failed at path {1}", objectType, Compiler.stringify(objectPath)));
+			externalError("Request for {0} failed at path {1}", objectType, Compiler.stringify(objectPath));
 			return false;
 		}

@@ -204,28 +204,49 @@
 		 */
 		public function removeObject(objectPath:Array):Boolean
 		{
-			if (objectPath && objectPath.length)
-			{
-				objectPath = objectPath.concat();
-				var childName:Object = objectPath.pop();
-				var parent:ILinkableObject = WeaveAPI.SessionManager.getObject(_rootObject, objectPath);
-				var hashMap:ILinkableHashMap = parent as ILinkableHashMap;
-				var dynamicObject:ILinkableDynamicObject = parent as ILinkableDynamicObject;
-				if (hashMap)
-				{
-					if (childName is Number)
-						childName = hashMap.getNames()[childName];
-					hashMap.removeObject(childName as String);
-					return true;
-				}
-				else if (dynamicObject)
-				{
-					dynamicObject.removeObject();
-					return true;
-				}
-			}
-
-			externalWarning("No suitable parent from which to remove a child at path " + Compiler.stringify(objectPath));
+			if (!objectPath || !objectPath.length)
+			{
+				externalError("Cannot remove root object");
+				return false;
+			}
+
+			var parentPath:Array = objectPath.concat();
+			var childName:Object = parentPath.pop();
+			var parent:ILinkableObject = WeaveAPI.SessionManager.getObject(_rootObject, parentPath);
+
+			var hashMap:ILinkableHashMap = parent as ILinkableHashMap;
+			if (hashMap)
+			{
+				if (childName is Number)
+					childName = hashMap.getNames()[childName];
+
+				if (hashMap.objectIsLocked(childName as String))
+				{
+					externalError("Object is locked and cannot be removed (path: {0})", Compiler.stringify(objectPath));
+					return false;
+				}
+
+				hashMap.removeObject(childName as String);
+				return true;
+			}
+
+			var dynamicObject:ILinkableDynamicObject = parent as ILinkableDynamicObject;
+			if (dynamicObject)
+			{
+				if (dynamicObject.locked)
+				{
+					externalError("Object is locked and cannot be removed (path: {0})", Compiler.stringify(objectPath));
+					return false;
+				}
+
+				dynamicObject.removeObject();
+				return true;
+			}
+
+			if (parent)
+				externalError("Parent object does not support dynamic children, so cannot remove child at path {0}", Compiler.stringify(objectPath));
+			else
+				externalError("No parent from which to remove a child at path {0}", Compiler.stringify(objectPath));
 			return false;
 		}

@@ -393,7 +414,7 @@
 				}
 				if (object == null)
 				{
-					externalError("No ILinkableObject to which to add a callback at path or variable " + Compiler.stringify(scopeObjectPathOrVariableName));
+					externalError("No ILinkableObject to which to add a callback at path or variable {0}", Compiler.stringify(scopeObjectPathOrVariableName));
 					return false;
 				}

@@ -442,7 +463,7 @@
 				}
 				if (object == null)
 				{
-					externalWarning("No ILinkableObject from which to remove a callback at path or variable " + Compiler.stringify(objectPathOrVariableName));
+					externalWarning("No ILinkableObject from which to remove a callback at path or variable {0}", Compiler.stringify(objectPathOrVariableName));
 					return false;
 				}

@@ -470,14 +491,14 @@
 			_d2d_callbackStr_target = new Dictionary2D(true, true);
 		}

-		private static function externalError(message:String):void
-		{
-			WeaveAPI.externalError("Error: " + message);
-		}
-
-		private static function externalWarning(message:String):void
-		{
-			WeaveAPI.externalError("Warning: " + message);
+		private static function externalError(format:String, ...args):void
+		{
+			WeaveAPI.externalError(StandardLib.substitute("Error: " + format, args));
+		}
+
+		private static function externalWarning(format:String, ...args):void
+		{
+			WeaveAPI.externalError(StandardLib.substitute("Warning: " + format, args));
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4118
Author:   shodgson@adobe.com
Date:     2008-11-14T21:57:56.182487Z

Log Message:
-----------
Bug: BLZ-276 - Getting RTE running tests that use streaming amf channel.
QA: Yes
Doc: No
Checkintests Pass: Yes

Details:
* Exit from chunk parse loop upon reading server disconnect command.

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as

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

--- frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
+++ frameworks/projects/rpc/src/mx/messaging/channels/StreamingConnectionHandler.as
@@ -425,7 +425,7 @@
         chunkBuffer = null;
         hexChunkSize = null;
         dataBytesToRead = -1;
-        dataOffset = 0;
+        dataOffset = 0;
     }

     /**
@@ -622,6 +622,8 @@
                                 // shut down and not attempt to reconnect.
                                 var statusEvent:StatusEvent = new StatusEvent(StatusEvent.STATUS, false, false, DISCONNECT_CODE, "status");
                                 dispatchEvent(statusEvent);
+                                // Exit parse loop - channel shut down will reset parser state.
+                                return;
                             }
                             else  // Regular message; dispatch it.
                             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4496
Author:   rfrishbe@adobe.com
Date:     2009-01-13T07:52:44.833841Z

Log Message:
-----------
Cleanups in Group and DataGroup.  Change RTEs so not as many will have to be localized.  Also, when mxmlContent is set, we clean up the old mxmlContent better and send out remove events.

QE Notes: Need to write tests when the mxmlContent gets set (remove events get dispatched).
Doc Notes: None
Bugs: SDK-18501, SDK-18064
Reviewer: Jason, Glenn
tests: checkintests, mustella Group, DataGroup, FxDataContainer, FxContainer, FxList, and GraphicTags tests

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/IGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
+++ frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as
@@ -26,9 +26,9 @@
 import flash.geom.Transform;

 import mx.components.Group;
-import mx.components.baseClasses.GroupBase;
 import mx.core.AdvancedLayoutFeatures;
 import mx.core.IInvalidating;
+import mx.core.ILayoutElement;
 import mx.core.IVisualElement;
 import mx.core.InvalidatingSprite;
 import mx.core.UIComponent;
@@ -44,7 +44,6 @@
 import mx.graphics.IGraphicElement;
 import mx.graphics.IStroke;
 import mx.graphics.MaskType;
-import mx.core.ILayoutElement;
 import mx.managers.ILayoutManagerClient;
 import mx.utils.MatrixUtil;
 import mx.utils.OnDemandEventDispatcher;
@@ -2100,15 +2099,18 @@
     /**
      *  @inheritDoc
      */
-    public function destroyDisplayObject():void
+    public function destroyDisplayObject():DisplayObject
     {
         // TODO!! Figure out what cleanup to do
+        var oldDisplayObject:DisplayObject;
+
         if (displayObject)
         {
-            if (displayObject.parent)
-                displayObject.parent.removeChild(displayObject);
+            oldDisplayObject = displayObject;
             displayObject = null;
         }
+
+        return oldDisplayObject;
     }

     private var _alwaysCreateDisplayObject:Boolean;


Move errorTips around the screen as parent containers are dragged

--- as3/smartform/src/com/rpath/raf/util/ErrorTipManager.as
+++ as3/smartform/src/com/rpath/raf/util/ErrorTipManager.as
@@ -15,6 +15,7 @@
     import flash.events.IEventDispatcher;
     import flash.geom.Point;
     import flash.geom.Rectangle;
+    import flash.geom.Utils3D;
     import flash.utils.Dictionary;
     import flash.utils.clearTimeout;
     import flash.utils.setTimeout;
@@ -33,9 +34,8 @@
     import mx.managers.SystemManager;
     import mx.managers.ToolTipManager;
     import mx.styles.IStyleClient;
+    import mx.utils.ArrayUtil;
     import mx.validators.Validator;
-    import flash.geom.Utils3D;
-    import mx.utils.ArrayUtil;

     /**
@@ -284,6 +284,7 @@

                         if (parent is DisplayObjectContainer) {
                             parent.addEventListener(ScrollEvent.SCROLL, parentContainerScrolled, false, 0, true);
+                            parent.addEventListener(MoveEvent.MOVE, parentContainerMoved, false, 0, true);
                             if (!(containersToTargets[parent] is Array)) {
                                 containersToTargets[parent] = [];
                             }
@@ -331,6 +332,7 @@
                     while (parent) {
                         if (parent is DisplayObjectContainer) {
                             parent.removeEventListener(ScrollEvent.SCROLL, parentContainerScrolled);
+                            parent.removeEventListener(MoveEvent.MOVE, parentContainerMoved);
                             if (containersToTargets[parent] is Array) {
                                 var array:Array = (containersToTargets[parent] as Array);
                                 var index:int = array.indexOf(obj);
@@ -435,6 +437,21 @@
             }
         }

+        private function parentContainerMoved(event:MoveEvent):void
+        {
+            var parent:DisplayObjectContainer = (event.target as DisplayObjectContainer);
+
+            // move all errors tips that are related to objects parented by this parent
+            // TODO: how to figure out which ones?
+
+            // for now, just move everything
+            for (var target:* in errorTips)
+            {
+                positionErrorTip(errorTips[target], target);
+            }
+
+        }
+
         /**
          * When a target is hidden, then make sure the error tip is hidden too.
          */


Fix for race condition where pending best efforts would never be fired.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -910,8 +910,18 @@
 						}
 					}
 				}
-				else
-				{
+				else
+				{
+
+					// Fire any pending best effort requests.
+					if(_pendingBestEffortRequest)
+					{
+						trace("Firing pending best effort request (2): " + _pendingBestEffortRequest);
+						var pber:HTTPStreamRequest = _pendingBestEffortRequest;
+						_pendingBestEffortRequest = null;
+						return pber;
+					}
+
 					trace("getFileForTime - Waiting on knowledge!");
 					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 				}


Added a toString method which allows you to see what values were set for a Padding.

--- src/org/openPyro/core/Padding.as
+++ src/org/openPyro/core/Padding.as
@@ -40,6 +40,11 @@
 		{
 			return _bottom;
 		}
+
+		public function toString():String
+		{
+			return '[org.openPyro.core.Padding - ' + _top + ' ' + _right + ' ' + _bottom + ' ' + _left + ']';
+		}

 	}
 }


Change 20080601-bargull-EDo by bargull@dell--p4--2-53 on 2008-06-01 02:15:32
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: return current text for inputtext-sprite

New Features:

Bugs Fixed: LPP-6079

Technical Reviewer: hminsky
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
Just return the flash textfield's text. That way it's consistent across all runtimes.

Tests:

git-svn-id: d62bde4b5aa582fdf07c8d403e53e0399a7ed285@9415 fa20e4f9-1d0a-0410-b5f3-dc9c16b8b17c

--- WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.as
@@ -146,6 +146,14 @@
             if (owner) owner.inputtextevent('onblur');
         }
     }
+
+    /**
+     * Get the current text for this inputtext-sprite.
+     * @protected
+     */
+    override public function getText():String {
+            return textfield.text;
+    }

     /**
      * Retrieves the contents of the text field for use by a datapath. See


keyColName is now keyColumn, and can be Number or String

--- WeaveJS/src/weavejs/data/source/CSVDataSource.as
+++ WeaveJS/src/weavejs/data/source/CSVDataSource.as
@@ -63,7 +63,11 @@
 		}

 		public const keyType:LinkableString = Weave.linkableChild(this, LinkableString, updateKeys);
-		public const keyColName:LinkableString = Weave.linkableChild(this, LinkableString, updateKeys);
+		public const keyColumn:LinkableVariable = Weave.linkableChild(this, new LinkableVariable(null, verifyKeyColumnId), updateKeys);
+		private function verifyKeyColumnId(value:Object):Boolean
+		{
+			return value is Number || value is String || value == null;
+		}

 		public const metadata:LinkableVariable = Weave.linkableChild(this, new LinkableVariable(null, verifyMetadata));
 		private function verifyMetadata(value:Object):Boolean
@@ -139,7 +143,7 @@
 		private var keysArray:Array;
 		private var keysCallbacks:ICallbackCollection = Weave.linkableChild(this, CallbackCollection);

-		protected function handleParsedRows(rows:Array):void
+		protected function handleParsedRows(rows:/*/string[][]/*/Array):void
 		{
 			if (!rows)
 				rows = [];
@@ -167,12 +171,16 @@
 				var colNames:Array = parsedRows[0] || [];
 				// getColumnValues supports columnIndex -1
 				var keyColIndex:int = -1;
-				if (keyColName.value)
+				if (keyColumn.state is String)
 				{
-					keyColIndex = colNames.indexOf(keyColName.value);
+					keyColIndex = colNames.indexOf(keyColumn.state as String);
 					// treat invalid keyColName as an error
 					if (keyColIndex < 0)
 						keyColIndex = -2;
+				}
+				if (keyColumn.state is Number)
+				{
+					keyColIndex = keyColumn.state as Number;
 				}
 				var keyStrings:Array = getColumnValues(parsedRows, keyColIndex, []);
 				var keyTypeString:String = keyType.value;
@@ -186,14 +194,14 @@
 		 * Convenience function for setting session state of csvData.
 		 * @param rows
 		 */
-		public function setCSVData(rows:Array):void
+		public function setCSVData(rows:/*/string[][]/*/Array):void
 		{
 			if (!verifyRows(rows))
 				throw new Error("Invalid data format. Expecting nested Arrays.");
 			csvData.setSessionState(rows);
 		}

-		public function getCSVData():Array
+		public function getCSVData():/*/string[][]/*/Array
 		{
 			return csvData.getSessionState() as Array;
 		}
@@ -209,17 +217,20 @@
 		/**
 		 * This will get a list of column names in the data, which are taken directly from the header row and not guaranteed to be unique.
 		 */
-		public function getColumnNames():Array
-		{
-			if (parsedRows && parsedRows.length)
-				return parsedRows[0].concat();
-			return [];
+		public function getColumnNames():Array/*/<string>/*/
+		{
+			return getColumnIds().map(asString);
+		}
+
+		private function asString(value:Object, i:int, a:Array):Boolean
+		{
+			return value as String;
 		}

 		/**
 		 * A unique list of identifiers for columns which may be a mix of Strings and Numbers, depending on the uniqueness of column names.
 		 */
-		public function getColumnIds():Array
+		public function getColumnIds():Array/*/<number|string>/*/
 		{
 			return columnIds.concat();
 		}
@@ -607,6 +618,7 @@
 		private var nullValues:Array = [null, "", "null", "\\N", "NaN"];

 		// backwards compatibility
+		[Deprecated(replacement="keyColumn")] public function set keyColName(value:String):void { keyColumn.state = value; }
 		[Deprecated(replacement="csvData")] public function set csvDataString(value:String):void { setCSVDataString(value); }
 		[Deprecated(replacement="getColumnById")] public function getColumnByName(name:String):IAttributeColumn { return getColumnById(name); }
 	}


Fixed possible grouped callback infinite recursion bug created in
previous commit.

Change-Id: I024a81c4985f89a7205c79e7073b5e34effa4332

--- WeaveCore/src/weave/core/CallbackCollection.as
+++ WeaveCore/src/weave/core/CallbackCollection.as
@@ -434,9 +434,20 @@
 	 */
 	public static function _handleGroupedCallbacks():void
 	{
-		// handle grouped callbacks in the order they were triggered
-		while (_triggeredEntries.length)
-			(_triggeredEntries.shift() as GroupedCallbackEntry).handleGroupedCallback();
+		var entry:GroupedCallbackEntry;
+
+		// Handle grouped callbacks in the order they were triggered,
+		// anticipating that more may be added to the end of the list in the process.
+		for (var i:int = 0; i < _triggeredEntries.length; i++)
+		{
+			entry = _triggeredEntries[i] as GroupedCallbackEntry;
+			entry.handleGroupedCallback();
+		}
+
+		// reset for next frame
+		for each (entry in _triggeredEntries)
+			entry.triggered = false;
+		_triggeredEntries.length = 0;
 	}

 	/**
@@ -510,8 +521,5 @@
 		}

 		callback();
-
-		// to avoid recursion, reset triggered state as the very last step
-		triggered = false;
 	}
 }


adding lost styleName support back to CSSS

git-svn-id: 02605e11d3a461bc7e12f3f3880edf4b0c8dcfd0@4419 3e7533ad-8678-4d30-8e38-00a379d3f0d0

--- src/laml/display/Component.as
+++ src/laml/display/Component.as
@@ -300,7 +300,7 @@

 			var styles:Array = new Array();
 			styles.push(getStyleByType(sheet));
-			styles.concat(getStylesByStyleNames(sheet));
+			styles = styles.concat(getStylesByStyleNames(sheet));
 			styles.push(getStyleById(sheet));

 			var style:Object = new Object();
@@ -325,7 +325,7 @@
 			var len:Number = names.length;

 			for(var i:Number = 0; i < len; i++) {
-				styles.push(sheet.getStyle(names[i]));
+				styles.push(sheet.getStyle("." + names[i]));
 			}

 			return styles;


Check that property exist, not value (might be empty string)

--- src/com/axis/http/auth.as
+++ src/com/axis/http/auth.as
@@ -61,7 +61,7 @@
           /* No authorization attempt yet, try with the best method supported by server */
           if (authOpts.digestRealm)
             return 'digest';
-          else if (authOpts.basicRealm)
+          else if (authOpts.hasOwnProperty('basicRealm'))
             return 'basic';
           break;


Flash: Force Plupload into URLStream mode if custom headers are passed in.

--- src/flash/plupload/src/com/plupload/File.as
+++ src/flash/plupload/src/com/plupload/File.as
@@ -116,7 +116,7 @@
 			var chunking:Boolean = (settings["chunk_size"] > 0);

 			// Check if it's not an image, chunking is disabled, multipart enabled and the ref_upload setting isn't forced
-			return (!(/\.(jpeg|jpg|png)$/i.test(this._fileName)) || !resize) && multipart && !chunking && !settings.urlstream_upload;
+			return (!(/\.(jpeg|jpg|png)$/i.test(this._fileName)) || !resize) && multipart && !chunking && !settings.urlstream_upload && !settings.headers;
 		}

 		public function simpleUpload(url:String, settings:Object):void {


Test classes ClassLevelCopyableCloneable and PropertyLevelCopyableCloneable in ClonerTest.

--- dolly-framework/src/test/actionscript/dolly/ClonerTest.as
+++ dolly-framework/src/test/actionscript/dolly/ClonerTest.as
@@ -3,6 +3,7 @@
 import dolly.data.ClassLevelCloneable;
 import dolly.data.ClassLevelCopyableCloneable;
 import dolly.data.PropertyLevelCloneable;
+import dolly.data.PropertyLevelCopyableCloneable;

 import org.as3commons.reflect.Field;
 import org.as3commons.reflect.Type;
@@ -22,6 +23,9 @@

 	private var propertyLevelCloneable:PropertyLevelCloneable;
 	private var propertyLevelCloneableType:Type;
+
+	private var propertyLevelCopyableCloneable:PropertyLevelCopyableCloneable;
+	private var propertyLevelCopyableCloneableType:Type;

 	[Before]
 	public function before():void {
@@ -44,8 +48,14 @@
 		propertyLevelCloneable.property2 = "value 2";
 		propertyLevelCloneable.property3 = "value 3";
 		propertyLevelCloneable.writableField = "value 4";
+		propertyLevelCloneableType = Type.forInstance(propertyLevelCloneable);

-		propertyLevelCloneableType = Type.forInstance(propertyLevelCloneable);
+		propertyLevelCopyableCloneable = new PropertyLevelCopyableCloneable();
+		propertyLevelCopyableCloneable.property1 = "value 1";
+		propertyLevelCopyableCloneable.property2 = "value 2";
+		propertyLevelCopyableCloneable.property3 = "value 3";
+		propertyLevelCopyableCloneable.writableField = "value 4";
+		propertyLevelCopyableCloneableType = Type.forInstance(propertyLevelCopyableCloneable);
 	}

 	[After]
@@ -58,12 +68,14 @@

 		propertyLevelCloneable = null;
 		propertyLevelCloneableType = null;
+
+		propertyLevelCopyableCloneable = null;
+		propertyLevelCopyableCloneableType = null;
 	}

 	[Test]
 	public function testGetCloneableFieldsForType():void {
 		var cloneableFields:Vector.<Field> = Cloner.getCloneableFieldsForType(classLevelCloneableType);
-
 		assertNotNull(cloneableFields);
 		assertEquals(4, cloneableFields.length);

@@ -72,40 +84,61 @@
 		assertEquals(4, cloneableFields.length);

 		cloneableFields = Cloner.getCloneableFieldsForType(propertyLevelCloneableType);
-
 		assertNotNull(cloneableFields);
 		assertEquals(3, cloneableFields.length);
+
+		cloneableFields = Cloner.getCloneableFieldsForType(propertyLevelCopyableCloneableType);
+		assertNotNull(cloneableFields);
+		assertEquals(4, cloneableFields.length);
 	}

 	[Test]
 	public function testCloneWithClassLevelMetadata():void {
-		const clone:ClassLevelCloneable = Cloner.clone(classLevelCloneable) as ClassLevelCloneable;
+		const clone1:ClassLevelCloneable = Cloner.clone(classLevelCloneable);
+		assertNotNull(clone1);
+		assertNotNull(clone1.property1);
+		assertEquals(clone1.property1, classLevelCloneable.property1);
+		assertNotNull(clone1.property2);
+		assertEquals(clone1.property2, classLevelCloneable.property2);
+		assertNotNull(clone1.property3);
+		assertEquals(clone1.property3, classLevelCloneable.property3);
+		assertNotNull(clone1.writableField);
+		assertEquals(clone1.writableField, classLevelCloneable.writableField);

-		assertNotNull(clone);
-		assertNotNull(clone.property1);
-		assertEquals(clone.property1, classLevelCloneable.property1);
-		assertNotNull(clone.property2);
-		assertEquals(clone.property2, classLevelCloneable.property2);
-		assertNotNull(clone.property3);
-		assertEquals(clone.property3, classLevelCloneable.property3);
-		assertNotNull(clone.writableField);
-		assertEquals(clone.writableField, classLevelCloneable.writableField);
+		const clone2:ClassLevelCopyableCloneable = Cloner.clone(classLevelCopyableCloneable);
+		assertNotNull(clone2);
+		assertNotNull(clone2.property1);
+		assertEquals(clone2.property1, classLevelCloneable.property1);
+		assertNotNull(clone2.property2);
+		assertEquals(clone2.property2, classLevelCloneable.property2);
+		assertNotNull(clone2.property3);
+		assertEquals(clone2.property3, classLevelCloneable.property3);
+		assertNotNull(clone2.writableField);
+		assertEquals(clone2.writableField, classLevelCloneable.writableField);
 	}

 	[Test]
 	public function testCloneWithPropertyLevelMetadata():void {
-		const clone:PropertyLevelCloneable = Cloner.clone(
-				propertyLevelCloneable
-		) as PropertyLevelCloneable;
+		const clone1:PropertyLevelCloneable = Cloner.clone(propertyLevelCloneable);
+		assertNotNull(clone1);
+		assertNull(clone1.property1);
+		assertNotNull(clone1.property2);
+		assertEquals(clone1.property2, propertyLevelCloneable.property2);
+		assertNotNull(clone1.property3);
+		assertEquals(clone1.property3, propertyLevelCloneable.property3);
+		assertNotNull(clone1.writableField);
+		assertEquals(clone1.writableField, propertyLevelCloneable.writableField);

-		assertNotNull(clone);
-		assertNull(clone.property1);
-		assertNotNull(clone.property2);
-		assertEquals(clone.property2, propertyLevelCloneable.property2);
-		assertNotNull(clone.property3);
-		assertEquals(clone.property3, propertyLevelCloneable.property3);
-		assertNotNull(clone.writableField);
-		assertEquals(clone.writableField, propertyLevelCloneable.writableField);
+		const clone2:PropertyLevelCopyableCloneable = Cloner.clone(propertyLevelCopyableCloneable);
+		assertNotNull(clone2);
+		assertNotNull(clone2.property1);
+		assertEquals(clone2.property1, propertyLevelCloneable.property1);
+		assertNotNull(clone2.property2);
+		assertEquals(clone2.property2, propertyLevelCloneable.property2);
+		assertNotNull(clone2.property3);
+		assertEquals(clone2.property3, propertyLevelCloneable.property3);
+		assertNotNull(clone2.writableField);
+		assertEquals(clone2.writableField, propertyLevelCloneable.writableField);
 	}
 }
 }


RBL-7897 changed function param to Number from int to handle the larger file sizes

--- as3/smartform/src/com/rpath/raf/util/UIHelper.as
+++ as3/smartform/src/com/rpath/raf/util/UIHelper.as
@@ -196,7 +196,7 @@
         }

         // make bytes human readable
-        public static function humanReadableSize(bytes:int, precision:int=1):String
+        public static function humanReadableSize(bytes:Number, precision:int=1):String
         {
             var s:String = bytes + ' bytes';


Улучшения

Улучшения

--- src/main/org/shypl/common/logging/TraceOutput.as
+++ src/main/org/shypl/common/logging/TraceOutput.as
@@ -1,7 +1,7 @@
 package org.shypl.common.logging {
 	public class TraceOutput extends TimedFormattedOutput {
 		override protected function writeString(record:Record, string:String):void {
-			trace(record);
+			trace(string);
 		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 21593
Author:   aharui@adobe.com
Date:     2011-07-16T04:39:08.938529Z

Log Message:
-----------
Optimize Advanced CSS selector lookup.  Selectors are sorted into categories as they are registered so we can do quick elimination of some categories of selectors.

QE notes: New API in IAdvancedStyleClient
Doc notes: New API in IAdvancedStyleClient
Bugs: SDK-29880
Reviewer: Peter F
Tests run: Mustella Cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/AdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IStyleManager2.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/IAdvancedStyleClient.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.as</path>

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

--- frameworks/projects/framework/src/mx/styles/StyleProxy.as
+++ frameworks/projects/framework/src/mx/styles/StyleProxy.as
@@ -464,6 +464,21 @@
     {
         return _advancedSource ? _advancedSource.matchesCSSType(cssType) : false;
     }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.6
+     */
+
+    public function hasCSSState():Boolean
+    {
+        return _advancedSource ? _advancedSource.hasCSSState() : false;
+    }
+
 }

 }


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

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

 package mx.utils
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/utils/DisplayUtil.as
+++ frameworks/projects/framework/src/mx/utils/DisplayUtil.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.utils
+{
+
+import flash.display.DisplayObject;
+import flash.display.DisplayObjectContainer;
+import mx.core.IRawChildrenContainer;
+
+/**
+ *  The DisplayUtil utility class is an all-static class with utility methods
+ *  related to DisplayObjects.
+ *  You do not create instances of the DisplayUtil class;
+ *  instead you call static methods such as the
+ *  DisplayUtil.walkDisplayObjects().
+ */
+public class DisplayUtil
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class methods
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Recursively calls the specified function on each node in the specified DisplayObject's tree,
+	 *  passing it a reference to that DisplayObject.
+	 *
+	 *  @param displayObject The target DisplayObject.
+	 *  @param callbackFunction The method to call on each node in the specified DisplayObject's tree.
+	 */
+	public static function walkDisplayObjects(displayObject:DisplayObject,
+											  callbackFunction:Function):void
+	{
+		callbackFunction(displayObject)
+
+		if (displayObject is DisplayObjectContainer)
+		{
+			var n:int =
+				displayObject is IRawChildrenContainer ?
+				IRawChildrenContainer(displayObject).rawChildren.numChildren :
+				DisplayObjectContainer(displayObject).numChildren;
+
+			for (var i:int = 0; i < n; i++)
+			{
+				var child:DisplayObject =
+					displayObject is IRawChildrenContainer ?
+					IRawChildrenContainer(displayObject).
+					rawChildren.getChildAt(i) :
+					DisplayObjectContainer(displayObject).getChildAt(i);
+
+				walkDisplayObjects(child, callbackFunction);
+			}
+		}
+	}
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 21769
Author:   jasonsj@adobe.com
Date:     2011-08-02T17:22:14.710585Z

Log Message:
-----------
CalloutButton
- CalloutButton extends Button (previously SkinnableContainer)
- New Callout proxy properties for calloutContent and calloutLayout
- read-only callout property SDK-30838
- New calloutDestructionPolicy
- closeOnResize added to DropDownController to prevent automatically closing when the system manager resizes SDK-30857

Callout
- Callout visual review changes
- Callout properties for actualHorizontalPosition and actualVerticalPosition
- Removed gap style, replaced with mx_internal margin property
- New auto-close behavior when the owner is removed from the stage SDK-30582
- New reposition behavior when the system manager resizes SDK-30857

ASDoc updates

QE notes: Please add tests for bug fixes listed below. Changes to calloutDestructionPolicy and closeOnResize should also be tested while the Callout is open.
Doc notes:
Bugs:
SDK-30860 arrow direction when "start" or"after" and"auto" is not correct
SDK-30838 New APIs required to resize CalloutButton's Callout before it is opened
SDK-30582 android : callout stays visible when the view changes via device's back button
SDK-30857 callout should stay visible on orientation change
Reviewer: evtim
Tests run: checkintests, mustella
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="D">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/scripts/CalloutButtonTestScript.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/tests/airMobileBasicTests/src/mobile/views/TestCalloutButton.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/CalloutSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/CalloutContentBackground.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/CalloutButton.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/Callout.as</path>

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

--- frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -28,7 +28,6 @@
 import spark.skins.mobile.ButtonSkin; spark.skins.mobile.ButtonSkin;
 import spark.skins.mobile.CalloutSkin; spark.skins.mobile.CalloutSkin;
 import spark.skins.mobile.CalloutActionBarSkin; spark.skins.mobile.CalloutActionBarSkin;
-import spark.skins.mobile.CalloutButtonSkin; spark.skins.mobile.CalloutButtonSkin;
 import spark.skins.mobile.CalloutViewNavigatorSkin; spark.skins.mobile.CalloutViewNavigatorSkin;
 import spark.skins.mobile.CheckBoxSkin; spark.skins.mobile.CheckBoxSkin;
 import spark.skins.mobile.DefaultButtonSkin; spark.skins.mobile.DefaultButtonSkin;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/effects/easing/Quadratic.as
+++ frameworks/projects/mx/src/mx/effects/easing/Quadratic.as
@@ -18,6 +18,11 @@
  *  for a Quadratic easing equation is slower than for a Cubic or Quartic easing equation.
  *
  *  For more information, see http://www.robertpenner.com/profmx.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Quadratic
 {
@@ -42,6 +47,11 @@
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function easeIn(t:Number, b:Number,
 								  c:Number, d:Number):Number
@@ -62,6 +72,11 @@
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function easeOut(t:Number, b:Number,
 								   c:Number, d:Number):Number
@@ -84,6 +99,11 @@
      *  @param d Specifies the duration of the effect, in milliseconds.
      *
      *  @return Number corresponding to the position of the component.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function easeInOut(t:Number, b:Number,
 									 c:Number, d:Number):Number


Transferred from the Adobe Open Source Subversion Repository

Revision: 11954
Author:   klin@adobe.com
Date:     2009-11-18T21:21:21.571419Z

Log Message:
-----------
Fix for https://bugs.adobe.com/jira/browse/SDK-24177. ScrollBar and Slider implementations were not taking into account the case of when the thumb and track had different parents. I've added logic to convert the position from the track's coordinates to global coordinates and then to the thumb's parent's coordinates.

QE notes: No
Doc notes: No
Bugs: SDK-24177
Reviewer: Glenn
Tests run: checkintests, ScrollBar, Slider
Is noteworthy for integration: Yes, ScrollBars should work correctly if thumb and track are in separate groups

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>

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

--- frameworks/projects/spark/src/spark/components/VSlider.as
+++ frameworks/projects/spark/src/spark/components/VSlider.as
@@ -137,8 +137,15 @@

         var thumbRange:Number = track.getLayoutBoundsHeight() - thumb.getLayoutBoundsHeight();
         var range:Number = maximum - minimum;
-        var thumbPos:Number = (range > 0) ? thumbRange - (((pendingValue - minimum) / range) * thumbRange) : 0;
-        thumb.setLayoutBoundsPosition(thumb.getLayoutBoundsX(), Math.round(track.getLayoutBoundsY() + thumbPos));
+
+        // calculate new thumb position.
+        var thumbPosTrackY:Number = (range > 0) ? thumbRange - (((pendingValue - minimum) / range) * thumbRange) : 0;
+
+        // convert to parent's coordinates.
+        var thumbPos:Point = track.localToGlobal(new Point(0, thumbPosTrackY));
+        var thumbPosParentY:Number = thumb.parent.globalToLocal(thumbPos).y;
+
+        thumb.setLayoutBoundsPosition(thumb.getLayoutBoundsX(), Math.round(thumbPosParentY));
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 10561
Author:   cframpto@adobe.com
Date:     2009-09-24T01:26:50.541480Z

Log Message:
-----------
Halo ComboBox control did not look very good when using TLFTextField because the spark TextInput obscured the underlying button.  The TextInput border and background needed to be turned off.

Rename ITextInput.showBorder(visible) to ITextInput.showBorderAndBackground(visible).  PARB approved.

Remove TLFTextField from SparkClasses.  UITLFTextField will pull it in.

QE notes:
Doc notes:
Bugs: SDK-23242
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/TLFTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>

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

--- frameworks/projects/framework/src/mx/core/ITextInput.as
+++ frameworks/projects/framework/src/mx/core/ITextInput.as
@@ -169,15 +169,15 @@
 	//--------------------------------------------------------------------------

     /**
-     *  For Halo, used to determine if the control's border object is visible.
-     *  For Spark, it does nothing.
+     *  Determines whether the border and background of the TextInput are
+     *  visible.
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    function showBorder(visible:Boolean):void;
+    function showBorderAndBackground(visible:Boolean):void;

     /**
      *  Selects the text in the range specified by the parameters.


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/mx/src/mx/events/ListEventReason.as
+++ frameworks/projects/mx/src/mx/events/ListEventReason.as
@@ -0,0 +1,62 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.events
+{
+
+/**
+ *  Constants for the values of the reason property of a
+ *  ListEvent object where the value of the type property is
+ *  ListEvent.ITEM_EDIT_END.
+
+ */
+public final class ListEventReason
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+    /**
+     *  Specifies that the user cancelled editing and that they do not
+     *  want to save the edited data. Even if you call the preventDefault() method
+     *  from within your event listener for the itemEditEnd event,
+     *  Flex still calls the destroyItemEditor() method to close the editor.
+     */
+    public static const CANCELLED:String = "cancelled";
+
+    /**
+     *  Specifies that the list control lost focus, was scrolled,
+     *  or is somehow in a state where editing is not allowed.
+     *  Even if you call the preventDefault() method from within your event
+     *  listener for the itemEditEnd event,
+     *  Flex still calls the destroyItemEditor() method to close the editor.
+     */
+    public static const OTHER:String = "other";
+
+    /**
+     *  Specifies that the user moved focus to a new row in the control.
+     *  Within an event listener, you can let the focus change occur, or prevent it.
+     *  For example, your event listener might check that the user entered a valid value
+     *  for the item currently being edited. If not, you can prevent the user from moving
+     *  to a new item by calling the preventDefault() method.
+     *  In this case, the item editor remains open, and the user continues to edit
+     *  the current item. If you call the preventDefault() method and
+     *  also call the destroyItemEditor() method, you block the move to the new item,
+     *  but the item editor closes.
+     */
+    public static const NEW_ROW:String = "newRow";
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 3509
Author:   jimurphy@adobe.com
Date:     2008-10-07T18:19:17.646255Z

Log Message:
-----------
Rename of flex -> mx.

For compatibility reasons it was decided that the new functionality remain integrated with the old framework, although we will continue to build two separate SWCs, one with primarily existing framework classes, and one with new Flex 4 classes. This change removes duplicate names from the Flex 4 framework to avoid class name overlapping with the old framework code.  The naming overlap consists of two major areas:  New Components, and New Effects

Modified Paths:
--------------
386 paths were modified

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -1,4 +1,5 @@
-package flex.core {
+package mx.components
+{
 import flash.display.BlendMode;
 import flash.display.DisplayObject;
 import flash.events.Event;
@@ -7,17 +8,18 @@
 import flash.geom.Rectangle;
 import flash.utils.Dictionary;

-import flex.events.FlexEvent;
-import flex.events.ItemExistenceChangedEvent;
-import flex.graphics.Graphic;
-import flex.graphics.IGraphicElement;
-import flex.graphics.graphicsClasses.GraphicElement;
-import flex.intf.ILayoutItem;
-import flex.layout.LayoutItemFactory;
+import mx.events.FlexEvent;
+import mx.events.ItemExistenceChangedEvent;
+import mx.layout.ILayoutItem;
+import mx.layout.LayoutItemFactory;

 import mx.collections.ICollectionView;
 import mx.collections.IList;
 import mx.collections.ListCollectionView;
+import mx.graphics.Graphic;
+import mx.graphics.IGraphicElement;
+import mx.graphics.graphicsClasses.GraphicElement;
+import mx.components.baseClasses.GroupBase;
 import mx.controls.Label;
 import mx.core.IDataRenderer;
 import mx.core.IDeferredInstance;


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

--- frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressIndeterminateSkin.as
+++ frameworks/projects/wireframe/src/mx/skins/wireframe/ProgressIndeterminateSkin.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2004-2009 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Inline references to other classes? That is not the actionscript way.

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

--- src/as/com/threerings/util/StreamableHashMap.as
+++ src/as/com/threerings/util/StreamableHashMap.as
@@ -30,9 +30,11 @@
 import com.threerings.util.maps.ForwardingMap;

 /**
- * A @see com.threerings.util.Map that can be sent over the wire,
- * bearing in mind that all keys and values must
- * be primitives or implement @see com.threerings.io.Streamable
+ * A Map that can be sent over the wire, bearing in mind that all keys and values must
+ * be primitives or implement Streamable.
+ *
+ * @see com.threerings.util.Map
+ * @see com.threerings.io.Streamable
  */
 public class StreamableHashMap extends ForwardingMap
     implements Streamable


Refactored registerInstance and registerClass to use registerCallback

--- src/asfac/src/com/thedevstop/asfac/AsFactory.as
+++ src/asfac/src/com/thedevstop/asfac/AsFactory.as
@@ -1,10 +1,10 @@
 package com.thedevstop.asfac
 {
+	import avmplus.getQualifiedClassName;
 	import flash.errors.IllegalOperationError;
 	import flash.utils.describeType;
 	import flash.utils.Dictionary;
 	import flash.utils.getDefinitionByName;
-	import flash.utils.getQualifiedClassName;

 	/**
 	 * ...
@@ -21,30 +21,22 @@

 		public function registerInstance(instance:Object, type:Class):void
 		{
-			_registrations[type] = function():Object
+			var returnInstance:Function = function():Object
 			{
 				return instance;
 			};
+
+			registerCallback(returnInstance, type, false);
 		}

 		public function registerType(instanceType:Class, type:Class, asSingleton:Boolean=false):void
 		{
-			if (asSingleton)
-				_registrations[type] = (function(instanceType:Class):Function
-				{
-					var instance:Object = null;
-					return function():Object {
-						if (!instance)
-							instance = resolveByClass(instanceType);
-
-						return instance;
-					};
-				})(instanceType);
-			else
-				_registrations[type] = function():Object
-				{
-					return resolveByClass(instanceType);
-				};
+			var resolveType:Function = function():Object
+			{
+				return resolveByClass(instanceType);
+			};
+
+			registerCallback(resolveType, type, asSingleton);
 		}

 		public function resolve(type:Class):*


Transferred from the Adobe Open Source Subversion Repository

Revision: 8847
Author:   aharui@adobe.com
Date:     2009-07-28T02:07:59.326177Z

Log Message:
-----------
Fix an injection from Frame1 cleanup.  Also a side-effect of the tabChildren change

QE Notes: None
Doc Notes: None
Bugs: SDK-22222
Reviewer: Mustella
API Change: No
Is noteworthy for integration: No
tests: checkintests mustella/components/ComboBox, NumericStepper, DateField, PopUpButton, mustella/gumbo/DropDownList mustella/MarshallPlan

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/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallingSupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBase.as
+++ frameworks/projects/mx/src/mx/controls/ComboBase.as
@@ -1505,7 +1505,7 @@

         var fm:IFocusManager = focusManager;

-        if (fm)
+        if (fm && event.target == this)
             fm.defaultButtonEnabled = true;

         if (_editable)


Transferred from the Adobe Open Source Subversion Repository

Revision: 832
Author:   matamel@adobe.com
Date:     2008-03-17T16:11:08.874340Z

Log Message:
-----------
Merge change 829 from 3.0.x

*************************************************
Bug: BLZ-73-Error message should be clearer if a Channel is missing a URI
QA: Yes
Doc: No
Checkintests: Pass

Details: If a Channel is missing a URL, instead of letting it cause a NPE in Channel.calculateEndpoint, we throw an InvalidChannelError with a meaningful message.
*************************************************

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/Channel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/bundles/en_US/src/messaging.properties</path>

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

--- frameworks/projects/rpc/src/mx/messaging/Channel.as
+++ frameworks/projects/rpc/src/mx/messaging/Channel.as
@@ -25,6 +25,7 @@
 import mx.logging.Log;
 import mx.messaging.config.LoaderConfig;
 import mx.messaging.config.ServerConfig;
+import mx.messaging.errors.InvalidChannelError;
 import mx.messaging.errors.InvalidDestinationError;
 import mx.messaging.events.ChannelEvent;
 import mx.messaging.events.ChannelFaultEvent;
@@ -1217,6 +1218,13 @@
      */
     private function calculateEndpoint():void
     {
+        if (uri == null)
+        {
+            var message:String = resourceManager.getString(
+                "messaging", "noURLSpecified");
+            throw new InvalidChannelError(message);
+        }
+
         var uriCopy:String = uri;
         var proto:String = URLUtil.getProtocol(uriCopy);


added protected getters for vertex animation/diffuse shader parts

--- src/aerys/minko/render/effect/basic/BasicShader.as
+++ src/aerys/minko/render/effect/basic/BasicShader.as
@@ -102,9 +102,14 @@
 		private var _priority				: Number;
 		private var _target					: RenderTarget;

-		protected function get diffuseShaderPart() : DiffuseShaderPart
+		protected function get diffuse() : DiffuseShaderPart
 		{
 			return _diffuseShaderPart;
+		}
+
+		protected function get vertexAnimation() : VertexAnimationShaderPart
+		{
+			return _vertexAnimationPart;
 		}

 		/**
@@ -140,7 +145,7 @@

 			settings.blending			= blending;
 			settings.enabled			= true;
-			settings.enableDepthWrite	= true;
+			settings.depthWriteEnabled	= true;
 			settings.renderTarget		= _target;
 			settings.scissorRectangle	= null;
 		}


Bugfix: We may get resized prior to willEnterPlace().

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

--- src/as/com/threerings/ezgame/client/EZGamePanel.as
+++ src/as/com/threerings/ezgame/client/EZGamePanel.as
@@ -84,7 +84,9 @@
     {
         super.updateDisplayList(uw, uh);

-        backend.sizeChanged();
+        if (backend != null) {
+            backend.sizeChanged();
+        }
     }

     /**


Bugfix. Could be the thing that's been screwing Whirled Beat.

--- tamarin-central/thane/as3src/AMF3Decoder.as
+++ tamarin-central/thane/as3src/AMF3Decoder.as
@@ -255,7 +255,10 @@
         _ctx.oRef.push(bytes);

         // and read the bytes
-        _ctx.bytes.readBytes(bytes, 0, code >> 1);
+        var length :uint = code >> 1;
+        if (length > 0) {
+            _ctx.bytes.readBytes(bytes, 0, length);
+        }
         return bytes;
     }


new loading call removes old listener

new loading call removes old listener

--- src/eu/stefaner/elasticlists/data/DataConnector.as
+++ src/eu/stefaner/elasticlists/data/DataConnector.as
@@ -46,11 +46,13 @@
 		public var contentItemsURL : String = "data/contentitems.xml";
 		protected var model : Model;
 		public static var DATA_LOADED : String = "onDataLoaded";
-
-public function DataConnector(m : Model) {
+		private var loader : URLLoader;
+
+		public function DataConnector(m : Model) {
 			super()  ;
 			model = m;
 		}
+
 		public function loadData(query : Dictionary = null) : void {
 			// either: loading multiple files
 			AssetLoader.loadXML(facetsURL, "facets");
@@ -60,16 +62,21 @@
 			// startRequest(url);
 			// but then, also the onDataLoaded has to be adjusted (e.target.data contains loaded data then)
 		};
+
 		protected function startRequest(s : String) : void {
-			Logger.info("loading", s);
+			Logger.info("loading", s);
+			if(loader) {
+				loader.removeEventListener(Event.COMPLETE, onDataLoaded);
+			}
 			try {
-				var loader : URLLoader = new URLLoader();
+				loader = new URLLoader();
 				loader.load(new URLRequest(s));
 			} catch (e : Error) {
 				Logger.error(e.message);
 			}
 			loader.addEventListener(Event.COMPLETE, onDataLoaded);
-		}
+		}
+
 		protected function onDataLoaded(e : Event) : void {

 			var xml : XML;
@@ -118,6 +125,7 @@
 			Logger.info("onContentItemsLoaded");
 			dispatchEvent(new Event(DATA_LOADED));
 		};
+
 		private function parseFacetValue(facet : Facet, facetValue : FacetValue, xml : XML) : void {
 			facetValue.label = xml.label.toString();
 			facetValue.name = xml.name.toString();
@@ -133,6 +141,7 @@
 			*/
 			// TODO: parse geo etc
 		};
+
 		protected var idCounter : Number = 0;

 		protected function parseContentItemFromXML( xml : XML) : ContentItem {
@@ -162,8 +171,6 @@
 			return contentItem;
 		};

-
-
 		protected function parseContentItemFromObject(o : Object) : ContentItem {
 			var id : String;
 			if(o.id) {


fixed bug where loadFile() would not work if called immediately from JS

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -168,12 +168,6 @@
 			getCallbackCollection(Weave.properties).addGroupedCallback(this, refreshMenu);
 			Weave.properties.backgroundColor.addImmediateCallback(this, invalidateDisplayList, true);

-			if (JavaScript.available)
-			{
-				JavaScript.registerMethod('loadFile', loadFile);
-				WeaveAPI.initializeJavaScript(_InitializeWeaveData.WeavePathData);
-			}
-
 			getFlashVars();
 			handleFlashVarPresentation();
 			handleFlashVarAllowDomain();
@@ -214,6 +208,12 @@
 			else
 			{
 				downloadConfigFile();
+			}
+
+			if (JavaScript.available)
+			{
+				JavaScript.registerMethod('loadFile', loadFile);
+				WeaveAPI.initializeJavaScript(_InitializeWeaveData.WeavePathData);
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 7120
Author:   gosmith@adobe.com
Date:     2009-05-20T06:46:06.687622Z

Log Message:
-----------
Switched to using "use namespace mx_internal" rather than using explicit namespace scoping (e.g.,  mx_internal::foo) in RichEditableText and its related classes.

Removed stale import statements.

QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Carol

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/supportClasses/RichEditableTextContainerManager.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -29,6 +29,8 @@
 import spark.components.TextSelectionVisibility;
 import spark.events.TextOperationEvent;
 import spark.primitives.RichEditableText;
+
+use namespace mx_internal;

 //--------------------------------------
 //  Events
@@ -928,7 +930,7 @@
      */
     override public function drawFocus(isFocused:Boolean):void
     {
-        if (mx_internal::parentDrawsFocus)
+        if (parentDrawsFocus)
         {
             IFocusManagerComponent(parent).drawFocus(isFocused);
             return;


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

--- frameworks/projects/mx/src/mx/containers/Form.as
+++ frameworks/projects/mx/src/mx/containers/Form.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-2007 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


add CubeGeometry.fromBoundingBox()

add CubeGeometry.fromBoundingBox()

--- src/aerys/minko/render/geometry/primitive/CubeGeometry.as
+++ src/aerys/minko/render/geometry/primitive/CubeGeometry.as
@@ -6,6 +6,8 @@
 	import aerys.minko.render.geometry.stream.StreamUsage;
 	import aerys.minko.render.geometry.stream.VertexStream;
 	import aerys.minko.render.geometry.stream.format.VertexFormat;
+	import aerys.minko.type.math.BoundingBox;
+	import aerys.minko.type.math.Vector4;

 	/**
 	 * The CubeGeometry class represents the 3D geometry of a cube.
@@ -57,5 +59,43 @@
 				new IndexStream(indexStreamUsage, IndexStream.dummyData(vertexStream.numVertices, 0))
 			);
 		}
+
+		static public function fromBoundingBox(boundingBox 			: BoundingBox,
+											   vertexStreamUsage 	: uint = 3,
+											   indexStreamUsage 	: uint = 3) : Geometry
+		{
+			var max : Vector4 = boundingBox.max;
+			var min : Vector4 = boundingBox.min;
+
+			var data : Vector.<Number> = new <Number>[
+				// top
+				max.x, max.y, max.z, 1., 0., min.x, max.y, min.z, 0., 1., max.x, max.y, min.z, 1., 1.,
+				max.x, max.y, max.z, 1., 0., min.x, max.y, max.z, 0., 0., min.x, max.y, min.z, 0., 1.,
+				// bottom
+				min.x, min.y, min.z, 0., 0., max.x, min.y, max.z, 1., 1., max.x, min.y, min.z, 1., 0.,
+				min.x, min.y, max.z, 0., 1., max.x, min.y, max.z, 1., 1., min.x, min.y, min.z, 0., 0.,
+				// back
+				max.x, min.y, max.z, 0., 1., min.x, max.y, max.z, 1., 0., max.x, max.y, max.z, 0., 0.,
+				min.x, max.y, max.z, 1., 0., max.x, min.y, max.z, 0., 1., min.x, min.y, max.z, 1., 1.,
+				// front
+				min.x, max.y, min.z, 0., 0., min.x, min.y, min.z, 0., 1., max.x, max.y, min.z, 1., 0.,
+				min.x, min.y, min.z, 0., 1., max.x, min.y, min.z, 1., 1., max.x, max.y, min.z, 1., 0.,
+				// left
+				min.x, min.y, min.z, 1., 1., min.x, max.y, max.z, 0., 0., min.x, min.y, max.z, 0., 1.,
+				min.x, max.y, max.z, 0., 0., min.x, min.y, min.z, 1., 1., min.x, max.y, min.z, 1., 0.,
+				// right
+				max.x, min.y, max.z, 1., 1., max.x, max.y, max.z, 1., 0., max.x, max.y, min.z, 0., 0.,
+				max.x, max.y, min.z, 0., 0., max.x, min.y, min.z, 0., 1., max.x, min.y, max.z, 1., 1.
+			];
+
+			var vertexStream : VertexStream = VertexStream.fromVector(
+				vertexStreamUsage, VertexFormat.XYZ_UV, data
+			);
+
+			return new Geometry(
+				new <IVertexStream>[vertexStream],
+				new IndexStream(indexStreamUsage, IndexStream.dummyData(vertexStream.numVertices, 0))
+			);
+		}
 	}
 }


Only build resource database when it has been initialized

--- Bin/Data/Scripts/Editor/EditorResourceBrowser.as
+++ Bin/Data/Scripts/Editor/EditorResourceBrowser.as
@@ -117,6 +117,9 @@

 void RebuildResourceDatabase()
 {
+    if (browserWindow is null)
+        return;
+
     ScanResourceDirectories();
     PopulateBrowserDirectories();
     PopulateResourceBrowserFilesByDirectory(rootDir);


Fixed stage scaling bug related to IE.

Fixed stage scaling bug related to IE.

--- src/project/Preloader.as
+++ src/project/Preloader.as
@@ -38,6 +38,7 @@

 	import com.hexagonstar.constants.Alignment;
 	import com.hexagonstar.util.display.StageReference;
+	import com.hexagonstar.util.time.CallLater;

 	import mx.core.BitmapAsset;
 	import mx.core.ByteArrayAsset;
@@ -119,8 +120,14 @@
 			Main.params = new Params();
 			Main.params.parse(LoaderInfo(root.loaderInfo).parameters);

-			configure();
-			start();
+			/* Configure and start the preloader after one frame has passed to prevent
+			 * a Flash-related bug with Internet Explorer where the stage dimensions
+			 * are not instantly available! */
+			CallLater.add(function():void
+			{
+				configure();
+				start();
+			});
 		}


Fixed the ParserOptions.defaultDependencyFunction.

--- src/aerys/minko/type/loader/parser/ParserOptions.as
+++ src/aerys/minko/type/loader/parser/ParserOptions.as
@@ -199,7 +199,8 @@
 			_assets						= assets;
 		}

-		private function defaultDependencyLoaderFunction(dependencyPath	: String,
+		private function defaultDependencyLoaderFunction(dependencyId	: String,
+														 dependencyPath	: String,
 														 isTexture		: Boolean,
 														 options		: ParserOptions) : ILoader
 		{


DiffuseShaderPart.getDiffuse() will now return a solid black pixel if diffuseMap and diffuseColor are missing

--- src/aerys/minko/render/shader/part/DiffuseShaderPart.as
+++ src/aerys/minko/render/shader/part/DiffuseShaderPart.as
@@ -41,9 +41,7 @@
 			}
 			else
 			{
-				throw new Error(
-					'Property \'diffuseColor\' or \'diffuseMap\' must be set.'
-				);
+				diffuseColor = float4(0., 0., 0., 1.);
 			}

 			// Apply HLSA modifiers


The quick fix: It was never intended that there'd be two goddamn
ChatDirectors in a client.

The slow fix: Maybe I can fix _that_.

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

--- src/as/com/threerings/crowd/chat/client/ChatDirector.as
+++ src/as/com/threerings/crowd/chat/client/ChatDirector.as
@@ -1068,10 +1068,10 @@
     protected var _chatterObservers :ObserverList = new ObserverList();

     /** Registered chat command handlers. */
-    protected static const _handlers :HashMap = new HashMap();
+    protected const _handlers :HashMap = new HashMap();

     /** A history of chat commands. */
-    protected static const _history :Array = new Array();
+    protected const _history :Array = new Array();

     /** The maximum number of chatter usernames to track. */
     protected static const MAX_CHATTERS :int = 6;


Fix incorrect block-buffering calculation.

git-svn-id: b675b909355d5cf946977f44a8ec5a6ceb3782e4@1011 ed5b42cb-e716-0410-a449-f6a68f950b19

--- src/as/com/threerings/miso/client/MisoScenePanel.as
+++ src/as/com/threerings/miso/client/MisoScenePanel.as
@@ -323,8 +323,8 @@

         var minX :int = xMove - (buffer ? size.x/2 : 0);
         var maxX :int = size.x + xMove + (buffer ? size.x/2 : 0);
-        var minY :int = yMove - (buffer ? size.x/2 : 0);
-        var maxY :int = BOTTOM_BUFFER + size.y + yMove + (buffer ? size.x/2 : 0);
+        var minY :int = yMove - (buffer ? size.y/2 : 0);
+        var maxY :int = BOTTOM_BUFFER + size.y + yMove + (buffer ? size.y/2 : 0);

         var topLeft :Point = _isoView.localToIso(new Point(minX, minY));
         var topRight :Point = _isoView.localToIso(new Point(maxX, minY));


Fix #185: Memory leak in MDIManager on caching MDIManagerEvent (Fix by @diorcety, see issue comments)

--- library/src/flexlib/mdi/managers/MDIManager.as
+++ library/src/flexlib/mdi/managers/MDIManager.as
@@ -536,14 +536,18 @@
 					break;
 				}

-				// add this event to collection for lookup in the effect handler
-				mgrEventCollection.addItem(mgrEvent);
-
-				// listen for start and end of effect
-				mgrEvent.effect.addEventListener(EffectEvent.EFFECT_START, onMgrEffectEvent)
-				mgrEvent.effect.addEventListener(EffectEvent.EFFECT_END, onMgrEffectEvent);
-
-				mgrEvent.effect.play();
+        // Play effect only if it is necessary
+        if(mgrEvent.effect is CompositeEffect || (mgrEvent.effect.targets && mgrEvent.effect.targets.length))
+        {
+          // add this event to collection for lookup in the effect handler
+          mgrEventCollection.addItem(mgrEvent);
+
+          // listen for start and end of effect
+          mgrEvent.effect.addEventListener(EffectEvent.EFFECT_START, onMgrEffectEvent)
+          mgrEvent.effect.addEventListener(EffectEvent.EFFECT_END, onMgrEffectEvent);
+
+          mgrEvent.effect.play();
+        }
 			}
 		}


Add default values to shader parameters (#380)

--- src/aerys/minko/render/shader/ShaderDataBindings.as
+++ src/aerys/minko/render/shader/ShaderDataBindings.as
@@ -1,7 +1,11 @@
 package aerys.minko.render.shader
 {
+	import aerys.minko.render.resource.texture.TextureResource;
+	import aerys.minko.render.shader.compiler.Serializer;
 	import aerys.minko.render.shader.compiler.graph.nodes.leaf.BindableConstant;
 	import aerys.minko.render.shader.compiler.graph.nodes.leaf.BindableSampler;
+	import aerys.minko.render.shader.compiler.graph.nodes.leaf.Constant;
+	import aerys.minko.render.shader.compiler.graph.nodes.leaf.Sampler;
 	import aerys.minko.type.binding.DataBindings;

 	/**
@@ -25,17 +29,30 @@
 			_signatureFlags = signatureFlags;
 		}

-		public function getParameter(name : String, size : uint) : SFloat
+		public function getParameter(name			: String,
+									 size			: uint,
+									 defaultValue	: Object = null) : SFloat
 		{
+			if (defaultValue != null && !propertyExists(name))
+			{
+				var constantValue : Vector.<Number> = new Vector.<Number>();
+				Serializer.serializeKnownLength(defaultValue, constantValue, 0, size);
+				return new SFloat(new Constant(constantValue));
+			}
+
 			return new SFloat(new BindableConstant(name, size));
 		}

-		public function getTextureParameter(bindingName	: String,
-											filter		: uint = 1,
-											mipmap		: uint = 0,
-											wrapping	: uint = 1,
-											dimension	: uint = 0) : SFloat
+		public function getTextureParameter(bindingName		: String,
+											filter			: uint				= 1,
+											mipmap			: uint				= 0,
+											wrapping		: uint				= 1,
+											dimension		: uint				= 0,
+											defaultValue	: TextureResource	= null) : SFloat
 		{
+			if (defaultValue != null && !propertyExists(bindingName))
+				return new SFloat(new Sampler(defaultValue, filter, mipmap, wrapping, dimension));
+
 			return new SFloat(
 				new BindableSampler(bindingName, filter, mipmap, wrapping, dimension)
 			);


Creating a new AssetsLibrary in ParserOptions if nothing is set

--- src/aerys/minko/type/loader/parser/ParserOptions.as
+++ src/aerys/minko/type/loader/parser/ParserOptions.as
@@ -115,10 +115,10 @@

 		public function get assets() : AssetsLibrary
 		{
-			return _assets;
+			return _assets || (_assets = new AssetsLibrary());
 		}

-		public function set assets(value  :AssetsLibrary):void
+		public function set assets(value : AssetsLibrary):void
 		{
 			_assets = value;
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 5152
Author:   gruehle@adobe.com
Date:     2009-03-03T21:18:45.837259Z

Log Message:
-----------
First pass of bug fixes for the Spark skins for Halo components.

Bugs:
SDK-19963 - themeColor should not affect rollOverColor or selectionColor in flex 4
SDK-19654 - Spark skin for the Halo ComboBox dropdown needs a drop shadow
SDK-19637 - Halo HScrollBar/VScrollBar controls dont render correctly when specifying includeIn states
SDK-19634 - Halo ProgressBar default size is very different when using Halo vs Gumbo theme
SDK-19626 - Flicker when toggling enabled property on Halo TabBar control with Gumbo skin
SDK-19556 - selected Halo CheckBox and RadioButton icons briefly flicker when you roll over them
SDK-19658 - Halo ComboBox with Gumbo skin has an odd flicker

Doc/QA Notes: The fix for SDK-19963 includes a compatibility-version check. When compatibility-version < 4, setting themeColor implicitly sets rollOverColor and selectionColor, if they have not been set. When compatibility-version >= 4, you must explicitly set rollOverColor and selectionColor, even when using the Halo theme.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/BorderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ProgressBarTrackSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/RectangularDropShadow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBase.as
+++ frameworks/projects/mx/src/mx/controls/ComboBase.as
@@ -1075,6 +1075,7 @@
             // Don't show ESC characters in the text field.
             textInput.restrict = "^\u001b";
             textInput.focusEnabled = false;
+            textInput.mouseEnabled = textInput.mouseChildren = _editable;
             textInput.imeMode = _imeMode;
             textInput.styleName = textInputStyleName;


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

 package
 {


fix asdoc html

fix asdoc html

--- frameworks/projects/framework/src/mx/styles/CSSDimension.as
+++ frameworks/projects/framework/src/mx/styles/CSSDimension.as
@@ -30,7 +30,8 @@
  * cm : centimeter
  * pt : point
  * dp :  device independent pixel ( 1 pix at about 160 DPI )
- *
+ * </p>
+ *
  *  @langversion 3.0
  *  @playerversion AIR 3.0
  *  @productversion Flex 4.13


Transferred from the Adobe Open Source Subversion Repository

Revision: 5098
Author:   gauravj@adobe.com
Date:     2009-02-27T02:21:27.489350Z

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

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

Modified Paths:
--------------
151 paths were modified

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

--- frameworks/projects/spark/src/spark/components/DataGroup.as
+++ frameworks/projects/spark/src/spark/components/DataGroup.as
@@ -24,6 +24,11 @@
  * event.renderer is the renderer that was added.
  *
  *  @eventType mx.events.RendererExistenceEvent.RENDERER_ADD
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="rendererAdd", type="mx.events.RendererExistenceEvent")]

@@ -32,6 +37,11 @@
  * event.renderer is the renderer that was removed.
  *
  *  @eventType mx.events.RendererExistenceEvent.ITEM_REMOVE
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 [Event(name="rendererRemove", type="mx.events.RendererExistenceEvent")]

@@ -52,11 +62,21 @@
  *  @see mx.components.Group
  *  @includeExample examples/DataGroupExample.mxml
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class DataGroup extends GroupBase
 {
     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function DataGroup()
     {
@@ -101,6 +121,11 @@
      *  also be a member of the dataProvider IList.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get typicalItem():Object
     {
@@ -217,6 +242,11 @@
      *  takes precedence over this property.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get itemRenderer():IFactory
     {
@@ -257,6 +287,11 @@
      *    function itemRendererFunction(item:Object):IFactory

      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get itemRendererFunction():Function
     {
@@ -292,6 +327,11 @@
      *
      *  @see #itemRenderer
      *  @see #itemRendererFunction
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public function get dataProvider():IList
     {
@@ -315,6 +355,11 @@

     /**
      *  Cleans up all the old item renderers.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function cleanUpDataProvider():void
     {
@@ -383,6 +428,11 @@

     /**
      *  Adds the elements fo the dataProvider to the DataGroup.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function initializeDataProvider():void
     {
@@ -427,6 +477,11 @@
      *  @param item The data element.
      *
      *  @return The renderer that represents the data elelement.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     private function createRendererForItem(item:Object, failRTE:Boolean=true):IVisualElement
     {
@@ -739,6 +794,11 @@
      *
      *  Note that if the layout is virtual, ItemRenderers that are scrolled
      *  out of view may be reused.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getElementAt(index:int):IVisualElement
     {
@@ -765,6 +825,11 @@
              *  the same, or that some did implement IDataRenderer and others
              *  did not.   We can't handle the latter, and a DataGroup where
              *  all items are the same wouldn't be worth the trouble.
+             *
+             *  @langversion 3.0
+             *  @playerversion Flash 10
+             *  @playerversion AIR 1.5
+             *  @productversion Flex 4
              */
             if (virtualLayoutStartIndex == -1)  // initialized in updateDisplayList()
             {
@@ -828,6 +893,11 @@
      *
      *  Note that if the layout is virtual, ItemRenderers that are scrolled
      *  out of view may be reused.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function getElementIndex(element:IVisualElement):int
     {
@@ -855,6 +925,11 @@
      *
      *  @param item The item that was added, the value of dataProvider[index].
      *  @param index The index where the dataProvider item was added.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     mx_internal function itemAdded(item:Object, index:int):void
     {
@@ -895,6 +970,11 @@
      *  @param item The item that is being removed.
      *
      *  @param index The index of the item that is being removed.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     mx_internal function itemRemoved(item:Object, index:int):void
     {
@@ -945,6 +1025,11 @@
      *  @param index Index position where the display object will be added.
      *
      *  @return DisplayObject that was added.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function addItemRendererToDisplayList(child:DisplayObject, index:int = -1):DisplayObject
     {
@@ -984,6 +1069,11 @@
      *  events and update our children based on that.
      *
      *  @param event The collection change event
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     protected function dataProvider_collectionChangeHandler(event:CollectionEvent):void
     {
@@ -1131,6 +1221,11 @@
      *  and you should not call addChild() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function addChild(child:DisplayObject):DisplayObject
     {
@@ -1144,6 +1239,11 @@
      *  and you should not call addChildAt() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function addChildAt(child:DisplayObject, index:int):DisplayObject
     {
@@ -1157,6 +1257,11 @@
      *  and you should not call removeChild() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function removeChild(child:DisplayObject):DisplayObject
     {
@@ -1170,6 +1275,11 @@
      *  and you should not call removeChildAt() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function removeChildAt(index:int):DisplayObject
     {
@@ -1183,6 +1293,11 @@
      *  and you should not call setChildIndex() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function setChildIndex(child:DisplayObject, index:int):void
     {
@@ -1196,6 +1311,11 @@
      *  and you should not call swapChildren() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
     {
@@ -1209,6 +1329,11 @@
      *  and you should not call swapChildrenAt() directly.
      *  If you want to add, remove, or swap items around, modify the
      *  dataProvider.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     override public function swapChildrenAt(index1:int, index2:int):void
     {


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

--- frameworks/projects/spark/src/spark/core/IGraphicElement.as
+++ frameworks/projects/spark/src/spark/core/IGraphicElement.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2003-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.
 //
 ////////////////////////////////////////////////////////////////////////////////
 package spark.core


Fix for Event tag - change "type" to "name"

--- FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
+++ FlexUnit4/src/org/flexunit/runner/FlexUnitCore.as
@@ -41,9 +41,9 @@
 	import org.flexunit.utils.ClassNameUtil;
 	import org.fluint.uiImpersonation.VisualTestEnvironmentBuilder;

-	[Event(type="testsComplete", type="flash.events.Event")]
-	[Event(type="runnerStart", type="flash.events.Event")]
-	[Event(type="testsStopped", type="flash.events.Event")]
+	[Event(name="testsComplete", type="flash.events.Event")]
+	[Event(name="runnerStart", type="flash.events.Event")]
+	[Event(name="testsStopped", type="flash.events.Event")]

 	/**
 	 * FlexUnit4 Version: 4.2.0<br/>


Let's make it library.json to match StarlingFormat.

--- exporter/src/main/as/flump/export/JSONFormat.as
+++ exporter/src/main/as/flump/export/JSONFormat.as
@@ -19,7 +19,7 @@
     public function JSONFormat (destDir :File, lib :XflLibrary, conf :ExportConf) {
         super(destDir, lib, conf);
         _prefix = conf.name + "/" + lib.location;
-        _metaFile =  _destDir.resolvePath(_prefix + "/resources.json");
+        _metaFile =  _destDir.resolvePath(_prefix + "/library.json");
     }

     override public function get modified () :Boolean {