Transferred from the Adobe Open Source Subversion Repository

Revision: 10606
Author:   egeorgie@adobe.com
Date:     2009-09-25T23:01:50.455888Z

Log Message:
-----------
White space cleanup.

Doc notes: None
Bugs: None
Reviewer: Evtim
Tests run: build
Is noteworthy for integration: Nope

Modified Paths:
--------------
<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/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/AddItems.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/OnDemandEventDispatcher.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/Block.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ToggleButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/EffectManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Effect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/LayoutElementUIComponentUtils.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ArrayList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/collections/ListCollectionView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/Transform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Path.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/DescribeTypeCache.as</path>
<path kind="file" action="M">/flex/sdk/trunk/development/eclipse/flex/sparkTest/src/testWheel.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/SparkSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -2120,7 +2120,7 @@
     override protected function keyDownHandler(event:KeyboardEvent):void
     {
         // If the combo box is disabled, don't do anything
-        if(!enabled)
+        if (!enabled)
             return;

         // If a the editable field currently has focus, it is handling


Transferred from the Adobe Open Source Subversion Repository

Revision: 17106
Author:   aharui@adobe.com
Date:     2010-07-28T22:56:20.233658Z

Log Message:
-----------
Merge 16677 from 3.x to Hero

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

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

--- frameworks/projects/mx/src/mx/controls/ComboBox.as
+++ frameworks/projects/mx/src/mx/controls/ComboBox.as
@@ -1745,6 +1745,9 @@
         if (!initialized || show == _showingDropdown)
             return;

+		if (inTween)
+			tween.endTween();
+
         // Subclasses may extend to do pre-processing
         // before the dropdown is displayed
         // or override to implement special display behavior


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

--- frameworks/projects/rpc/src/mx/rpc/soap/ISOAPEncoder.as
+++ frameworks/projects/rpc/src/mx/rpc/soap/ISOAPEncoder.as
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc.soap
+{
+
+import mx.rpc.wsdl.WSDLOperation;
+import mx.rpc.xml.SchemaConstants;
+import mx.rpc.xml.IXMLEncoder;
+
+[ExcludeClass]
+
+/**
+ * An ISOAPEncoder is used to create SOAP 1.1 formatted requests for a web
+ * service operation. A WSDLOperation provides the definition of how a SOAP
+ * request should be formatted and therefore must be set before a call is made to
+ * encode().
+ *
+ */
+public interface ISOAPEncoder extends IXMLEncoder
+{
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Determines whether the encoder should ignore whitespace when
+     * constructing an XML representation of a SOAP request.
+     * The default should be true and thus whitespace not preserved.
+     * If an XML Schema type definition specifies a whiteSpace
+     * restriction set to preserve then ignoreWhitespace must
+     * first be set to false. Conversely, if a type whiteSpace
+     * restriction is set to replace or collapse then
+     * that setting will be honored even if ignoreWhitespace is set to false.
+     */
+    function get ignoreWhitespace():Boolean;
+    function set ignoreWhitespace(value:Boolean):void;
+
+    /**
+     * A WSDLOperation defines the SOAP binding styles and specifies how to
+     * encode a SOAP request.
+     */
+    function get wsdlOperation():WSDLOperation;
+    function set wsdlOperation(value:WSDLOperation):void;
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * Creates a SOAP-encoded request to an operation from the given input
+     * parameters and headers.
+     */
+    function encodeRequest(args:* = null, headers:Array = null):XML;
+}
+
+}


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

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

 package spark.collections
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 21319
Author:   build@adobe.com
Date:     2011-06-01T17:45:41.136089Z

Log Message:
-----------
Version update to 4.5.2

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airspark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_air/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/flex-config.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_spark/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark_dmv/src/spark/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/rpc/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mx/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/charts/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_flashflexkit/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/automation_dmv/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/build.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/modules/compiler/src/java/flex2/tools/VersionInfo.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/airframework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/Version.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/advancedgrids/src/mx/core/Version.as</path>

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

--- frameworks/projects/spark_dmv/src/spark/core/Version.as
+++ frameworks/projects/spark_dmv/src/spark/core/Version.as
@@ -15,4 +15,4 @@
  *  @private
  *  Version string for this class.
  */
-mx_internal static const VERSION:String = "4.5.1.0";
+mx_internal static const VERSION:String = "4.5.2.0";


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

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

 package mx.controls
 {


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

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

 package mx.skins.halo
 {


USER_KICKED and USER_BANNED events are now dispatched after updating the room roster (like USER_DEPARTURE) instead of before. It was incorrect to receive a USER_KICKED or USER_BANNED event and still see the user in the roster.

--- src/org/igniterealtime/xiff/conference/Room.as
+++ src/org/igniterealtime/xiff/conference/Room.as
@@ -905,18 +905,6 @@
 									case 201:
 										unlockRoom( myIsReserved );
 										break;
-
-									case 307:
-										roomEvent = new RoomEvent( RoomEvent.USER_KICKED );
-										roomEvent.nickname = presence.from.resource;
-										dispatchEvent( roomEvent );
-										break;
-
-									case 301:
-										roomEvent = new RoomEvent( RoomEvent.USER_BANNED );
-										roomEvent.nickname = presence.from.resource;
-										dispatchEvent( roomEvent );
-										break;
 								}
 							}

@@ -1035,10 +1023,22 @@
 					var user:MUCUserExtension = aPresence.getAllExtensionsByNS( MUCUserExtension.NS )[ 0 ];
 					for each ( var status:MUCStatus in user.statuses )
 					{
-						// If the user left as a result of a kick or ban, so no need to dispatch a USER_DEPARTURE event as we already dispatched USER_KICKED/USER_BANNED
-						if ( status.code == 307 || status.code == 301 )
+						switch ( status.code )
 						{
-							return;
+							// If the user left as a result of a ban or kick, we dispatch a USER_BANNED/USER_KICKED event instead of a USER_DEPARTURE event
+							case 301:
+								roomEvent = new RoomEvent( RoomEvent.USER_BANNED );
+								roomEvent.nickname = userNickname;
+								roomEvent.data = aPresence;
+								dispatchEvent( roomEvent );
+								return;
+
+							case 307:
+								roomEvent = new RoomEvent( RoomEvent.USER_KICKED );
+								roomEvent.nickname = userNickname;
+								roomEvent.data = aPresence;
+								dispatchEvent( roomEvent );
+								return;
 						}
 					}


add performance debug logs track fragment loading/decrypting/demuxing and total processing time

--- src/org/mangui/HLS/streaming/FragmentLoader.as
+++ src/org/mangui/HLS/streaming/FragmentLoader.as
@@ -82,8 +82,8 @@
         private var _frag_loading_start_time:Number;
         /** Time the decryption started. **/
         private var _frag_decrypt_start_time:Number;
-        /** Time the parsing started. **/
-        //private var _frag_parsing_start_time:Number;
+        /** Time the demux started. **/
+        private var _frag_demux_start_time:Number;
         /** Did the stream switch quality levels. **/
         private var _switchlevel:Boolean;
         /** Did a discontinuity occurs in the stream **/
@@ -217,6 +217,8 @@
           }
           if(event.bytesLoaded == event.bytesTotal) {
             Log.debug("loading completed");
+            var _loading_duration:uint = (new Date().valueOf() - _frag_loading_start_time);
+            Log.debug("Loading       duration/length/speed:"+_loading_duration+ "/" + _last_segment_size + "/" + ((8000*_last_segment_size/_loading_duration)/1024).toFixed(0) + " kb/s");
             _cancel_load = false;
             if(_decryptAES != null) {
               _decryptAES.notifycomplete();
@@ -234,7 +236,7 @@
     }

       private function _fragDemux(data : ByteArray) : void {
-         // _frag_parsing_start_time = new Date().valueOf();
+         _frag_demux_start_time = new Date().valueOf();

          /* deal with byte range if any specified */
          if (_frag_byterange_start_offset !=-1) {
@@ -671,6 +673,8 @@

     /** Handles the actual reading of the TS fragment **/
     private function _fragReadHandler(audioTags:Vector.<Tag>,videoTags:Vector.<Tag>,adif:ByteArray,avcc:ByteArray,audioPID:Number=-1,audioTrackList:Vector.<HLSAudioTrack>=null):void {
+      var _demux_duration:uint = (new Date().valueOf() - _frag_demux_start_time);
+      Log.debug("Demux         duration/length/speed:"+_demux_duration+ "/" + _last_segment_size + "/" + ((8000*_last_segment_size/_demux_duration)/1024).toFixed(0) + " kb/s");
        var audio_index:Number;
        var audio_track_changed:Boolean = false;
        audioTrackList = audioTrackList.sort(function(a:HLSAudioTrack,b:HLSAudioTrack):Number { return a.id - b.id; });
@@ -794,7 +798,8 @@

       // Calculate bandwidth
       _last_process_duration = (new Date().valueOf() - _frag_loading_start_time);
-      _last_bandwidth = Math.round(_last_segment_size * 8000 / _last_process_duration);
+      _last_bandwidth = Math.round(_last_segment_size * 8000 / _last_process_duration);
+      Log.debug("Total Process duration/length/speed:"+_last_process_duration+ "/" + _last_segment_size + "/" + ((8000*_last_segment_size/_last_process_duration)/1024).toFixed(0) + " kb/s");

       if(_manifest_just_loaded) {
          _manifest_just_loaded = false;


Show 'Available' not 'offline' when no status is set.

--- src/org/jivesoftware/xiff/data/im/RosterItemVO.as
+++ src/org/jivesoftware/xiff/data/im/RosterItemVO.as
@@ -78,7 +78,6 @@

 		public function set status(newStatus:String):void
 		{
-			newStatus = newStatus != null ? newStatus : Presence.SHOW_OFFLINE;
 			var oldStatus:String = status;
 			_status = newStatus;
 			PropertyChangeEvent.createUpdateEvent(this, "status", oldStatus, status);
@@ -87,7 +86,9 @@
 		[Bindable]
 		public function get status():String
 		{
-			return _status;
+			if(show == Presence.SHOW_OFFLINE)
+				return Presence.SHOW_OFFLINE;
+			return _status ? _status : "Available";
 		}

 		public function set show(newShow:String):void


OrthographicCamera project

OrthographicCamera project

--- src/aerys/minko/scene/node/camera/OrthographicCamera.as
+++ src/aerys/minko/scene/node/camera/OrthographicCamera.as
@@ -1,10 +1,13 @@
 package aerys.minko.scene.node.camera
 {
+	import flash.geom.Point;
+
 	import aerys.minko.ns.minko_scene;
 	import aerys.minko.scene.node.AbstractSceneNode;
 	import aerys.minko.scene.node.Scene;
 	import aerys.minko.type.binding.DataBindings;
 	import aerys.minko.type.math.Ray;
+	import aerys.minko.type.math.Vector4;

 	use namespace minko_scene;

@@ -64,6 +67,22 @@
 			return out;
 		}

+		override public function project(worldPosition:Vector4, output:Point=null):Point
+		{
+			output ||= new Point();
+
+			var sceneBindings	: DataBindings	= (root as Scene).bindings;
+			var width			: Number		= sceneBindings.getProperty('viewportWidth');
+			var height			: Number		= sceneBindings.getProperty('viewportHeight');
+
+			worldPosition = worldToLocal(worldPosition, null, false, true);
+
+			output.x = width  * (0.5 + (worldPosition.x / (width  / _cameraData.zoom)));
+			output.y = height * (0.5 - (worldPosition.y / (height / _cameraData.zoom)));
+
+			return output;
+		}
+
 		override minko_scene function cloneNode():AbstractSceneNode
 		{
 			var clone : OrthographicCamera = new OrthographicCamera(zoom, zNear, zFar);


Catch texture creation errors in prepareForPublishing

--- exporter/src/main/as/flump/xfl/XflLibrary.as
+++ exporter/src/main/as/flump/xfl/XflLibrary.as
@@ -2,12 +2,18 @@
 // Flump - Copyright 2013 Flump Authors

 package flump.xfl {
+
+import com.adobe.crypto.MD5;
+import com.threerings.util.Log;
+import com.threerings.util.Map;
+import com.threerings.util.Maps;
+import com.threerings.util.Set;
+import com.threerings.util.Sets;
+import com.threerings.util.XmlUtil;

 import flash.filesystem.File;
 import flash.utils.ByteArray;
 import flash.utils.Dictionary;
-
-import com.adobe.crypto.MD5;

 import flump.SwfTexture;
 import flump.Util;
@@ -25,13 +31,6 @@
 import flump.mold.MovieMold;
 import flump.mold.TextureGroupMold;

-import com.threerings.util.Log;
-import com.threerings.util.Map;
-import com.threerings.util.Maps;
-import com.threerings.util.Set;
-import com.threerings.util.Sets;
-import com.threerings.util.XmlUtil;
-
 public class XflLibrary
 {
     use namespace xflns;
@@ -95,14 +94,15 @@
         if (!_toPublish.add(movie)) return;
         for each (var layer :LayerMold in movie.layers) {
             for each (var kf :KeyframeMold in layer.keyframes) {
-                function adjustPivot (tex :SwfTexture) :void {
-                    // Texture symbols have origins. For texture layer keyframes,
-                    // we combine the texture's origin with the keyframe's pivot point.
-                    kf.pivotX += tex.origin.x;
-                    kf.pivotY += tex.origin.y;
-                };
+                var swfTexture :SwfTexture = null;
                 if (movie.flipbook) {
-                    adjustPivot(SwfTexture.fromFlipbook(this, movie, kf.index));
+                    try {
+                        swfTexture = SwfTexture.fromFlipbook(this, movie, kf.index)
+                    } catch (e :Error) {
+                        addTopLevelError(ParseError.CRIT, "Error creating flipbook texture from '" + movie.id + "'");
+                        swfTexture = null;
+                    }
+
                 } else {
                     if (kf.ref == null) continue;
                     kf.ref = _libraryNameToId.get(kf.ref);
@@ -113,8 +113,21 @@
                     } else if (item is MovieMold) {
                         prepareForPublishing(MovieMold(item));
                     } else if (item is XflTexture) {
-                        adjustPivot(SwfTexture.fromTexture(this.swf, XflTexture(item)));
+                        const tex :XflTexture = XflTexture(item);
+                        try {
+                            swfTexture = SwfTexture.fromTexture(this.swf, tex);
+                        } catch (e :Error) {
+                            addTopLevelError(ParseError.CRIT, "Error creating texture '" + tex.symbol + "'");
+                            swfTexture = null;
+                        }
                     }
+                }
+
+                if (swfTexture != null) {
+                    // Texture symbols have origins. For texture layer keyframes,
+                    // we combine the texture's origin with the keyframe's pivot point.
+                    kf.pivotX += swfTexture.origin.x;
+                    kf.pivotY += swfTexture.origin.y;
                 }
             }
         }


collision and still debugging turning

collision and still debugging turning

--- src/Mukik.as
+++ src/Mukik.as
@@ -20,6 +20,7 @@
 		private var rocks:Array = new Array();
 		public var symbol:SymRock;
 		private var symRocks:Array = new Array();
+		//public var boxMap:Object = new Object();  //hopefully dont need this
 		public var size:int = 3; //length of the snake
 		public var snakeBods:Array = new Array();
 		public var bod:SnakeBod;
@@ -61,25 +62,26 @@
 						rock = new Rock();
 						addObject(rock, j*50 + 50, i*50 + 50);
 						rocks.push(rock);
+
 						if(board[i][j] == 1) {    //if the number is one put a hidden triangle there
 							symbol = new SymRock(0);
 							addObject(symbol, j*50 + 50, i*50 + 50);
 							symRocks.push(symbol);
 							symbol.visible = false;
 						}
-						if(board[i][j] == 2) {    //if the number is one put a hidden square there
+						if(board[i][j] == 2) {    //if the number is two put a hidden square there
 							symbol = new SymRock(1);
 							addObject(symbol, j*50 + 50, i*50 + 50);
 							symRocks.push(symbol);
 							symbol.visible = false;
 						}
-						if(board[i][j] == 3) {    //if the number is one put a hidden cross there
+						if(board[i][j] == 3) {    //if the number is three put a hidden cross there
 							symbol = new SymRock(2);
 							addObject(symbol, j*50 + 50, i*50 + 50);
 							symRocks.push(symbol);
 							symbol.visible = false;
 						}
-						if(board[i][j] == 4) {    //if the number is one put a hidden skull there
+						if(board[i][j] == 4) {    //if the number is four put a hidden skull there
 							symbol = new SymRock(3);
 							addObject(symbol, j*50 + 50, i*50 + 50);
 							symRocks.push(symbol);
@@ -89,7 +91,7 @@
 				}
 			}

-			addObject(snake, 200, 50);
+			addObject(snake, 200, 50);
 			addBody(size);
 			dir = 'r';
 		}
@@ -121,6 +123,7 @@
 		}

+
 		public function enterFrameHandler(event:Event):void {
 			//var p:int = 0;
 			snake.x += vx;
@@ -129,10 +132,34 @@
 			for(var i:int = 0; i<size+1; i++) {
 				snakeBods[i].x += vx;
 				snakeBods[i].y += vy;
-			}
-
+			}
+			//set the vision
+
+			//checking for collision type and direction
+			for (var i:int = 0; i<rocks.length; i++) {
+				if (Math.abs(snake.x-rocks[i].x) < 150 && Math.abs(snake.y-rocks[i].y) < 200) {
+					symRocks[i].visible = true;
+				}
+				else {symRocks[i].visible = false;}
+
+				if (snake.hitTestObject(rocks[i]) && snake.type == symRocks[i].type) {
+					rocks[i].visible = false;
+					symRocks[i].visible = false;
+					//this.removeChild(symRocks[i]);
+				}
+				else if (snake.hitTestObject(rocks[i])) {
+					if (snake.x > rocks[i].x && snake.x < rocks[i].x+b && snake.y > rocks[i].y && snake.y < rocks[i].y+b) {
+						if (dir=="d") {
+							reverse("up", snake);
+						}
+					}
+
+				}
+			}
+

 			if (turn) {
+				bounce = false;
 				//var j:int = 0;
 				for(var i:int = 0; i<snakeBods.length; i++) {
 					//j++;
@@ -142,6 +169,9 @@
 								snakeBods[i].y = snake.y-b;
 								snakeBods[i].x = xTurn;
 								snakeBods[i].rotation = 180;
+								if(!snakeBods[i].visible) {
+									snakeBods[i].visible = true;
+								}
 							}
 							if (i>0) {
 								snakeBods[i].y = yTurn;
@@ -154,6 +184,9 @@
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
 								snakeBods[i].rotation = 180;
+								if(!snakeBods[i].visible) {
+									snakeBods[i].visible = true;
+								}
 							}
 							if (i>1) {
 								snakeBods[i].y = yTurn;
@@ -165,6 +198,9 @@
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
 								snakeBods[i].rotation = 180;
+								if(!snakeBods[i].visible) {
+									snakeBods[i].visible = true;
+								}
 							}
 							if (i>2) {
 								snakeBods[i].y = yTurn;
@@ -176,6 +212,9 @@
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
 								snakeBods[i].rotation = 180;
+								if(!snakeBods[i].visible) {
+									snakeBods[i].visible = true;
+								}
 							}
 							if (i>3) {
 								snakeBods[i].y = yTurn;
@@ -341,9 +380,9 @@
 			else if(bounce) {
 				for(var i:int = 0; i<snakeBods.length; i++) {

-					if (dir == "r") { //trying this out
-
-						if (snake.x<b*3) {
+					if (dir == "r") {
+
+						if (snake.x<xTurn+b*2) {
 							if(i==0) {
 								snakeBods[i].x = snake.x-b;
 								snakeBods[i].y = yTurn;
@@ -356,7 +395,7 @@
 							}

 						}
-						else if (snake.x<b*4) {
+						else if (snake.x<xTurn+b*3) {
 							if(i==1) {
 								snakeBods[i].x = snake.x-b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -365,7 +404,7 @@
 							}

 						}
-						else if (snake.x<b*5) {
+						else if (snake.x<xTurn+b*4) {
 							if(i==2) {
 								snakeBods[i].x = snake.x-b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -375,7 +414,7 @@
 							}

 						}
-						else if (snake.x<b*6) {
+						else if (snake.x<xTurn+b*5) {
 							if(i==3) {
 								snakeBods[i].x = snake.x-b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -387,9 +426,9 @@
 						}

 					}
-					if (dir == "l") { //trying this out
-
-						if (snake.x>stage.width-b*3) {
+					if (dir == "l") {
+
+						if (snake.x>xTurn-b*2) {
 							if(i==0) {
 								snakeBods[i].x = snake.x+b;
 								snakeBods[i].y = yTurn;
@@ -402,7 +441,7 @@
 							}

 						}
-						else if (snake.x>stage.width-b*4) {
+						else if (snake.x>xTurn-b*3) {
 							if(i==1) {
 								snakeBods[i].x = snake.x+b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -411,7 +450,7 @@
 							}

 						}
-						else if (snake.x>stage.width-b*5) {
+						else if (snake.x>xTurn-b*4) {
 							if(i==2) {
 								snakeBods[i].x = snake.x+b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -421,7 +460,7 @@
 							}

 						}
-						else if (snake.x>stage.width-b*6) {
+						else if (snake.x>xTurn-b*5) {
 							if(i==3) {
 								snakeBods[i].x = snake.x+b*(i+1);
 								snakeBods[i].y = yTurn;
@@ -434,9 +473,9 @@
 						}

 					}
-					if (dir == "u") { //trying this out
-
-						if (snake.y>stage.height-b*3) {
+					if (dir == "u") {
+
+						if (snake.y>yTurn-b*2) {
 							if(i==0) {
 								snakeBods[i].y = snake.y+b;
 								snakeBods[i].x = xTurn;
@@ -449,7 +488,7 @@
 							}

 						}
-						else if (snake.y>stage.height-b*4) {
+						else if (snake.y>yTurn-b*3) {
 							if(i==1) {
 								snakeBods[i].y = snake.y+b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -458,7 +497,7 @@
 							}

 						}
-						else if (snake.y>stage.height-b*5) {
+						else if (snake.y>yTurn-b*4) {
 							if(i==2) {
 								snakeBods[i].y = snake.y+b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -468,7 +507,7 @@
 							}

 						}
-						else if (snake.y>stage.height-b*6) {
+						else if (snake.y>yTurn-b*5) {
 							if(i==3) {
 								snakeBods[i].y = snake.y+b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -482,7 +521,7 @@
 					}
 					if (dir == "d") { //trying this out

-						if (snake.y<b*3) {
+						if (snake.y<yTurn+b*2) {
 							if(i==0) {
 								snakeBods[i].y = snake.y-b;
 								snakeBods[i].x = xTurn;
@@ -495,7 +534,7 @@
 							}

 						}
-						else if (snake.y<b*4) {
+						else if (snake.y<yTurn+b*3) {
 							if(i==1) {
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -504,7 +543,7 @@
 							}

 						}
-						else if (snake.y<b*5) {
+						else if (snake.y<yTurn+b*4) {
 							if(i==2) {
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -514,7 +553,7 @@
 							}

 						}
-						else if (snake.y<b*6) {
+						else if (snake.y<yTurn+b*5) {
 							if(i==3) {
 								snakeBods[i].y = snake.y-b*(i+1);
 								snakeBods[i].x = xTurn;
@@ -555,52 +594,24 @@
 			//I need to redo turnSnake and put all these things that repeat in there.
 			if (snake.x<50) {

-				vx *= -1;
-				vy=0;
-				snake.y-=50;
-				snake.x+=50;
-				xTurn = snake.x;
-				yTurn = snake.y;
-				bounce = true;
-				snake.rotation = 0;
-				//turnSnake("right", snake);
-				dir='r';
+
+				reverse("right", snake);
+
 			}
 			if (snake.x>stage.stageWidth-50){
-				vx *= -1;
-				vy=0;
-				snake.y+=50;
-				snake.x-=50;
-				xTurn = snake.x;
-				yTurn = snake.y;
-				bounce = true;
-				snake.rotation = 180;
-				//turnSnake("left", snake);
-				dir='l';
+
+				reverse("left", snake);
+
 			}
 			if (snake.y>stage.stageHeight-50) {
-				vy *= -1;
-				vx=0;
-				snake.x-=50;
-				snake.y-=50;
-				xTurn = snake.x;
-				yTurn = snake.y;
-				bounce = true;
-				snake.rotation = -90;
-				//turnSnake("up", snake);
-				dir='u';
+
+				reverse("up", snake);
+
 			}
 			if (snake.y<50) {
-				vy *= -1;
-				vx=0;
-				snake.x+=50;
-				snake.y+=50;
-				xTurn = snake.x;
-				yTurn = snake.y;
-				bounce = true;
-				snake.rotation = 90;
-				//turnSnake("down", snake);
-				dir='d';
+
+				reverse("down", snake);
+
 			}
 		}
 		public function keyDownHandler(event:KeyboardEvent):void {
@@ -669,8 +680,57 @@
 			}

 		}
+		public function reverse(d:String, snake:Snake): void {
+			bounce = true;
+			if(d == "right"){
+				vx *= -1;
+				vy=0;
+				snake.y-=50;
+				snake.x+=50;
+				xTurn = snake.x;
+				yTurn = snake.y;
+
+				snake.rotation = 0;
+				dir="r";
+			}
+			if (d == "left") {
+				vx *= -1;
+				vy=0;
+				snake.y+=50;
+				snake.x-=50;
+				xTurn = snake.x;
+				yTurn = snake.y;
+
+				snake.rotation = 180;
+				dir="l";
+			}
+			if (d == "up") {
+				vy *= -1;
+				vx=0;
+				snake.x-=50;
+				snake.y-=50;
+				xTurn = snake.x;
+				yTurn = snake.y;
+
+				snake.rotation = -90;
+				dir="u";
+			}
+			if (d == "down") {
+				vy *= -1;
+				vx=0;
+				snake.x+=50;
+				snake.y+=50;
+				xTurn = snake.x;
+				yTurn = snake.y;
+
+				snake.rotation = 90;
+				dir="d";
+			}
+
+		}
 		//all this needs to be fixed again to go along with being added to the stage instead of the snake.
 		//now I am cutting out the use of this method to turn the snake bodies a different way.
+		/*old turn snake
 		public function turnSnake(dir:String, snake:Sprite):void {  //input the direction of the turn with the keyboard event; "up" "down" "left" or "right" (right could actually be any other string.)

 			//var bods:Array = body;
@@ -734,5 +794,7 @@
 			snakeBods.pop();
 			this.removeChild(snakeBods[size-2]);
 		}
+		*/
 	}
+
 }


adding hook for selectionColor

adding hook for selectionColor

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

--- src/laml/display/Label.as
+++ src/laml/display/Label.as
@@ -13,10 +13,11 @@

 		override protected function initialize():void {
 			super.initialize();
+			model.validate_border = validateBorder;
+			model.validate_embedFonts = validateEmbedFonts;
+			model.validate_selectable = validateSelectable;
+			model.validate_selectionColor = validateSelectionColor;
 			model.validate_textFormat = validateTextFormat;
-			model.validate_selectable = validateSelectable;
-			model.validate_embedFonts = validateEmbedFonts;
-			model.validate_border = validateBorder;
 			text = "";
 		}

@@ -85,6 +86,18 @@
 			return model.selectable;
 		}

+		public function set selectionColor(color:Number):void {
+			model.selectionColor = color;
+		}
+
+		public function get selectionColor():Number {
+			return model.selectionColor;
+		}
+
+		protected function validateSelectionColor(newValue:*, oldValue:*):void {
+			trace(">> validate selection color");
+		}
+
 		protected function validateSelectable(newValue:*, oldValue:*):void {
 			textView.selectable = newValue;
 			textView.mouseEnabled = newValue;


Transferred from the Adobe Open Source Subversion Repository

Revision: 15526
Author:   chaase@adobe.com
Date:     2010-04-16T23:14:38.571769Z

Log Message:
-----------
Two effects fixes, one states/SetProperty fix.
The Fade fix allows objects which don't exist in the next state, but which don't have valid values set in that state for position/orientation, to fade out in place.
The states fix cleans up the layout constraint docs in UIComponent and fixes logic in SetProperty that makes it possible to actually unset these properties in MXML.
The AnimateTransform fix cleans up logic when using AnimateTransform directly to auto-animate properties that change between states.

QE notes: Fade_accessor Fade_relevantProperties_Default fails because the affectedProperties of Fade has changed with one of these fixes. The test needs to be updated.
Doc notes: None
Bugs: sdk-25389, sdk-24989, sdk-24925
Reviewer: Corey (UIComponent, SetProperty) and Jason (the rest)
Tests run: checkintests, Mustella spark/effects, mx/states
Is noteworthy for integration: yes: downstream tools wanted fix for sdk-24925

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/states/SetProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -8823,6 +8823,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  a state-specific value of the property in MXML to its default
+     *  value of undefined,
+     *  use the @Clear() directive. For example, in MXML code,
+     *  left.s2="@Clear()" unsets the left
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.left = undefined unsets the left
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8842,6 +8852,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  right.s2="@Clear()" unsets the right
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.right = undefined unsets the right
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8861,6 +8881,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  top.s2="@Clear()" unsets the top
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.top = undefined unsets the top
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8880,6 +8910,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  bottom.s2="@Clear()" unsets the bottom
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.bottom = undefined unsets the bottom
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8899,6 +8939,17 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  horizontalCenter.s2="@Clear()" unsets the
+     *  horizontalCenter
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.horizontalCenter = undefined unsets the
+     *  horizontalCenter constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8918,6 +8969,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  verticalCenter.s2="@Clear()" unsets the verticalCenter
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.verticalCenter = undefined unsets the verticalCenter
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0
@@ -8937,6 +8998,16 @@
     [Inspectable(category="General")]

     /**
+     *
For components, this layout constraint property is a
+     *  facade on top of the similarly-named style. To set
+     *  the property to its default value of undefined,
+     *  use the @Clear() directive in MXML or the undefined
+     *  value in ActionScript code. For example, in MXML code,
+     *  baseline.s2="@Clear()" unsets the baseline
+     *  constraint in state s2. Or in ActionScript code,
+     *  button.baseline = undefined unsets the baseline
+     *  constraint on button.

+     *
      *  @inheritDoc
      *
      *  @langversion 3.0


Transferred from the Adobe Open Source Subversion Repository

Revision: 3645
Author:   egreenfi@adobe.com
Date:     2008-10-15T03:19:36.801703Z

Log Message:
-----------
removed ability to set transform offsets as a matrix

TransformOffsets are applied as r/s/t deltas, not as a matrix, so it doesn't make sense to allow developers to set matrix values directly.

Also renamed matrix/matrix3D on UIC and GraphicElement to layoutMatrix/layoutMatrix3D, as these are more appropriate names, and removing them from transformOffsets gives us more freedom in their naming.

Reviewer: Glenn
checkintests: pass
QA: none

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/TransformOffsets.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutItemUIC.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/ITransformable.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxRotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/geom/CompoundTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/AdvancedLayoutFeatures.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -86,6 +86,7 @@
 import mx.utils.StringUtil;
 import mx.validators.IValidatorListener;
 import mx.validators.ValidationResult;
+import mx.geom.TransformOffsets;

 use namespace mx_internal;

@@ -9542,9 +9543,9 @@
 			var m:Matrix = _transform.matrix;
 			var m3:Matrix3D =  _transform.matrix3D;
 			if(m != null)
-				matrix = m.clone();
+				layoutMatrix = m.clone();
 			else if(m3 != null)
-				matrix3D = m3.clone();
+				layoutMatrix3D = m3.clone();

 			invalidateSize();
     }
@@ -9607,7 +9608,7 @@
 	/**
 	 * Documentation is not currently available
 	 */
- 	public function set offsets(value:CompoundTransform):void
+ 	public function set offsets(value:TransformOffsets):void
 	{
 		if(_layoutFeatures == null) initAdvancedLayoutFeatures();

@@ -9621,7 +9622,7 @@
 	/**
 	 * @private
 	 */
-	public function get offsets():CompoundTransform
+	public function get offsets():TransformOffsets
 	{
 		return (_layoutFeatures != null)? _layoutFeatures.offsets:null;
 	}
@@ -9657,7 +9658,7 @@
 	 * Documentation is not currently available.  the matrix of a component is the transform matrix used to calculate its layout
 	 * relative to its siblings. This matrix is modified by the values of the offset property to determine its final, computed matrix.
 	 */
-	public function get matrix():Matrix
+	public function get layoutMatrix():Matrix
 	{
 		if(_layoutFeatures != null)
 		{
@@ -9672,7 +9673,7 @@
 	/**
 	 * @private
 	 */
-	public function set matrix(value:Matrix):void
+	public function set layoutMatrix(value:Matrix):void
 	{
 		if(_layoutFeatures == null)
 		{
@@ -9721,7 +9722,7 @@
 	 * Documentation is not currently available.  the matrix of a component is the transform matrix used to calculate its layout
 	 * relative to its siblings. This matrix is modified by the values of the offset property to determine its final, computed matrix.
 	 */
-	public function set matrix3D(value:Matrix3D):void
+	public function set layoutMatrix3D(value:Matrix3D):void
 	{
 		if(_layoutFeatures == null) initAdvancedLayoutFeatures();
 		_layoutFeatures.layoutMatrix3D = value;
@@ -9732,7 +9733,7 @@
 	/**
 	 * @private
 	 */
-	public function get matrix3D():Matrix3D
+	public function get layoutMatrix3D():Matrix3D
 	{
 		if(_layoutFeatures == null) initAdvancedLayoutFeatures();
 		return _layoutFeatures.layoutMatrix3D;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10075
Author:   rfrishbe@adobe.com
Date:     2009-09-09T01:01:58.077369Z

Log Message:
-----------
Cleanups from the spark text changes and some bug fixes for VideoElement.  Also some PARB changes for UIComponent.

TitleBar: Changing the skin part type from Label to Textbase

UIComponent: skipMeasure()->canSkipMeasurement() to be in line with GraphicElement.  This has been PARB approved.
UIComponent: same with hasComplexLayoutMatrix...this replaces hasDeltaIdentityTransform.  This has been PARB approved.

StyleProtoChain: cleanup around what interfaces to use

TextBase: clean up code that’s no longer needed.

VideoElement: Fixing 4 bugs:
SDK-22824: sourceLastPlayed keeps track of what video file we’ve called play() with last.  This way if a user pauses the video and wants to start it up again at the same point, we can call play(null) on the underlying FLVPlayback videoPlayer.  However, anytime the souce changes, we want to null out sourceLastPlayed.  This was causing a bug when someone set the source to null and then reset it to it’s previous value.

SDK-23034 (GUMBO_PRIORITY): This deals with some FLVPlayback quirks around sizing.  I had put in a fix so we weren’t setting width/height on the underlying videoPlayer too many times, but apparently we need to make sure it always gets called once.  Hopefully when switching to Strobe we can cleanup this logic...I put a FIXME in to do this.

SDK-21947/ SDK-22533 - some video files don’t always send out a metadata event.  I’m not quite sure why this is, but in case this happens, we do a check in the ready handler to see whether we should call invalidateSize() to make sure it gets sized properly.

QE notes:-
Doc notes:-
Bugs: SDK-22824, SDK-23034, SDK-21947, SDK-22533
Reviewer: Glenn, Corey
Tests run: checkintests, Button, GraphicTags, VideoElement, and VideoPlayer (some VideoPlayer were failing, but I think it should be fine)
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AddActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/RemoveActionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -1731,13 +1731,6 @@
     /**
      * @private
      *
-     * when true, the transform on this component consists only of translation.  Otherwise, it may be arbitrarily complex.
-     */
-    protected var hasDeltaIdentityTransform:Boolean = true;
-
-    /**
-     * @private
-     *
      * storage for the modified Transform object that can dispatch change events correctly.
      */
     private var _transform:flash.geom.Transform;
@@ -2162,8 +2155,7 @@

         if (rotation == value)
             return;
-
-        hasDeltaIdentityTransform = false;
+
         if (_layoutFeatures == null)
         {
             // clamp the rotation value between -180 and 180.  This is what
@@ -2528,8 +2520,6 @@
             var prevValue:Number = (_layoutFeatures == null)? scaleX:_layoutFeatures.layoutScaleX;
             if (prevValue == value)
                 return;
-
-            hasDeltaIdentityTransform = false;

             // trace("set scaleX:" + this + "value = " + value);
             if (_layoutFeatures == null)
@@ -2612,7 +2602,6 @@
             if (prevValue == value)
                 return;

-            hasDeltaIdentityTransform = false;
             if (_layoutFeatures == null)
                 super.scaleY = value;
             else
@@ -2671,7 +2660,6 @@
         if (_layoutFeatures == null)
             initAdvancedLayoutFeatures();

-		hasDeltaIdentityTransform = false;
 		_layoutFeatures.layoutScaleZ = value;
         invalidateTransform();
         invalidateProperties();
@@ -5388,7 +5376,7 @@
      */
     protected function get hasComplexLayoutMatrix():Boolean
     {
-        return (_layoutFeatures == null ? false : !MatrixUtil.isDeltaIdentity(_layoutFeatures.layoutMatrix))
+        return (_layoutFeatures == null ? false : !MatrixUtil.isDeltaIdentity(_layoutFeatures.layoutMatrix));
     }

     //----------------------------------
@@ -7492,22 +7480,19 @@
     }

     /**
-     *  Returns true when the measureSizes() method
-     *  can skip the call to the measure() method.
-     *  This is usually the case when both the explicitWidth and
-     *  explicitHeight properties are set.
-     *  For path, this is true when the bounds of the path
+     *  Determines if the call to the measure() method can be skipped.
+     *
+     *  @return Returns true when the measureSizes() method can skip the call to
+     *  the measure() method. For example this is usually true when both explicitWidth and
+     *  explicitHeight are set. For paths, this is true when the bounds of the path
      *  have not changed.
-     *
-     *  @return true when the measureSizes() method
-     *  can skip the call to the measure() method.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 9
-     *  @playerversion AIR 1.1
-     *  @productversion Flex 3
-     */
-    protected function skipMeasure():Boolean
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 4
+     */
+    protected function canSkipMeasurement():Boolean
     {
         // We can skip the measure function if the object's width and height
         // have been explicitly specified (e.g.: the object's MXML tag has
@@ -7532,7 +7517,7 @@
         var scalingFactor:Number;
         var newValue:Number;

-        if (skipMeasure())
+        if (canSkipMeasurement())
         {
             invalidateSizeFlag = false;
             _measuredMinWidth = 0;
@@ -11741,8 +11726,6 @@
     protected function initAdvancedLayoutFeatures():void
     {
         var features:AdvancedLayoutFeatures = new AdvancedLayoutFeatures();
-
-        hasDeltaIdentityTransform = false;

         features.layoutScaleX = scaleX;
         features.layoutScaleY = scaleY;
@@ -11901,7 +11884,6 @@
      */
     public function setLayoutMatrix(value:Matrix, invalidateLayout:Boolean):void
     {
-        hasDeltaIdentityTransform = false;
         if (_layoutFeatures == null)
         {
             // flash will make a copy of this on assignment.
@@ -12447,7 +12429,7 @@

     protected function nonDeltaLayoutMatrix():Matrix
     {
-        if (hasDeltaIdentityTransform)
+        if (hasComplexLayoutMatrix)
             return null;
         if (_layoutFeatures != null)
         {


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

--- frameworks/projects/framework/src/mx/effects/Parallel.as
+++ frameworks/projects/framework/src/mx/effects/Parallel.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


Transferred from the Adobe Open Source Subversion Repository

Revision: 4252
Author:   jimurphy@adobe.com
Date:     2008-12-08T19:12:57.532881Z

Log Message:
-----------
Merged 3.x rev 4194 -> trunk

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/LoaderUtil.as</path>

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

--- frameworks/projects/framework/src/mx/utils/LoaderUtil.as
+++ frameworks/projects/framework/src/mx/utils/LoaderUtil.as
@@ -50,13 +50,18 @@
      *  relative to a root URL.
      *
      *  @param rootURL An url that will form the root of the absolute url.
-     *  This is typically the url of the application loading the url.
+     *  If the rootURL does not specify a file name it must be
+     *  terminated with a slash. For example, "http://a.com" is incorrect, it
+     *  should be terminated with a slash, "http://a.com/".
+     *
+     *  When loading resources relative to an application, the rootURL is
+     *  typically the loaderInfo.url of the application.
      *
      *  @param url The url of the resource to load (may be relative).
      *
      *  @return If url is already an absolute URL, then it is
      *  returned as is. If url is relative, then an absolute URL is
-     *  returned where url is relative to rootURL.
+     *  returned where url is relative to rootURL.
      */
     public static function createAbsoluteURL(rootURL:String, url:String):String
     {
@@ -67,17 +72,11 @@
         {
             if (rootURL)
             {
-                var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
-                if (lastIndex <= 8)
-                {
-                    rootURL += "/";
-                    lastIndex = rootURL.length - 1;  // adding one later
-                }
-
                 // If the url starts from the current directory, then just skip
                 // over the "./".
                 // If the url start from the parent directory, the we need to
                 // modify the rootURL.
+                var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
                 if (url.indexOf("./") == 0)
                 {
                     url = url.substring(2);
@@ -87,11 +86,8 @@
                     while (url.indexOf("../") == 0)
                     {
                         url = url.substring(3);
-                        var parentIndex:int = Math.max(rootURL.lastIndexOf("\\", lastIndex - 1),
+                        lastIndex = Math.max(rootURL.lastIndexOf("\\", lastIndex - 1),
                                                        rootURL.lastIndexOf("/", lastIndex - 1));
-                        if (parentIndex <= 8)
-                            parentIndex = lastIndex;
-                        lastIndex = parentIndex;
                     }
                 }


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

--- frameworks/projects/framework/src/mx/utils/StringUtil.as
+++ frameworks/projects/framework/src/mx/utils/StringUtil.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2005-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.
 //
 ////////////////////////////////////////////////////////////////////////////////


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

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


added missing parentheses

added missing parentheses

--- WeaveJS/src/weavejs/core/ClassRegistryImpl.as
+++ WeaveJS/src/weavejs/core/ClassRegistryImpl.as
@@ -161,7 +161,7 @@
 		 */
 		public static function verifyImplementation(theInterface:Class, theImplementation:Class):void
 		{
-			if (!theImplementation.prototype is theInterface)
+			if (!(theImplementation.prototype is theInterface))
 				throw new Error(Weave.className(theImplementation) + ' does not implement ' + Weave.className(theInterface));
 		}
 	}


Revert "Fix potential loss of best effort request causing long 30 second plus stalls."

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -910,18 +910,8 @@
 						}
 					}
 				}
-				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;
-					}
-
+				else
+				{
 					trace("getFileForTime - Waiting on knowledge!");
 					return new HTTPStreamRequest (HTTPStreamRequestKind.LIVE_STALL, null, SHORT_LIVE_STALL_DELAY);
 				}


Fix for 404 or other errors encountered during BEF causing infinite loop.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -163,6 +163,9 @@
 		// as a global cache.
 		public static var startTimeWitnesses:Object = {};
 		public static var endTimeWitnesses:Object = {};
+
+		// Set when a segment download fails; we won't consider it for BEF anymore.
+		public static var failureWitnesses:Object = {};

 		CONFIG::LOGGING
@@ -657,20 +660,47 @@
 			}

 			var newSequence:int = -1;
-
+
+			var haveNewKnowledge:Boolean = checkAnySegmentKnowledge(newManifest.segments);
+			var haveOldKnowledge:Boolean = checkAnySegmentKnowledge(currentManifest.segments);
+
+			var firedInitiate:Boolean = false;
+
 			// Check knowledge on both sequences and queue request as appropriate.
-			if(!checkAnySegmentKnowledge(newManifest.segments) && !isBestEffortActive())
+			if(!haveNewKnowledge && !isBestEffortActive())
 			{
 				trace("(A) Encountered a live/VOD manifest with no timebase knowledge, request newest segment via best effort path for quality " + reloadingQuality);
 				_pendingBestEffortRequest = initiateBestEffortRequest(getLastSequence() + 1, reloadingQuality, newManifest.segments, newManifest);
+				firedInitiate = true;
 			}
-			else if(!checkAnySegmentKnowledge(currentManifest.segments) && !isBestEffortActive())
+			else if(!haveOldKnowledge && !isBestEffortActive())
 			{
 				trace("(B) Encountered a live/VOD manifest with no timebase knowledge, request newest segment via best effort path for quality " + reloadingQuality);
-				_pendingBestEffortRequest = initiateBestEffortRequest(getLastSequence() + 1, targetQuality, currentManifest.segments, currentManifest);
-			}
-
-			if(!checkAnySegmentKnowledge(newManifest.segments) || !checkAnySegmentKnowledge(currentManifest.segments))
+				_pendingBestEffortRequest = initiateBestEffortRequest(getLastSequence() + 1, lastQuality, currentManifest.segments, currentManifest);
+				firedInitiate = true;
+			}
+
+			if(firedInitiate && _pendingBestEffortRequest == null)
+			{
+				// We can't BEF due to a failure, so just remap to beginning (if VOD) or live edge (if live)
+				trace("Failed to initiate BEF, so returning best-guess sequence ID.");
+				if(newManifest.streamEnds)
+				{
+					if(newManifest.segments.length)
+						return newManifest.segments[0].id;
+					else
+						return 0;
+				}
+				else
+				{
+					if(newManifest.segments.length)
+						return newManifest.segments[newManifest.segments.length-1].id;
+					else
+						return int.MAX_VALUE;
+				}
+			}
+
+			if(!haveNewKnowledge || !haveOldKnowledge)
 			{
 				trace("Bailing on remap due to lack of knowledge!");

@@ -1724,6 +1754,7 @@
 					{
 						// We can't live stall as mismatched sequence IDs might cause an arbitrary live stall delay.
 						// Instead, if our guess is off the live edge, just adjust our guess.
+						// TODO: This is suspect as it doesn't update the URI.
 						nextSeg.id = nextFragmentId;
 					}
 					else
@@ -1749,6 +1780,13 @@
 				}
 			}

+			// If it's a known bad, don't issue a BEF for it.
+			if(failureWitnesses[nextSeg.uri] == 1)
+			{
+				trace("Skipping BEF for known bad segment: " + nextSeg.uri);
+				return null;
+			}
+
 			// recreate the best effort download monitor
 			// this protects us against overlapping best effort downloads
 			_bestEffortDownloaderMonitor = new EventDispatcher();
@@ -1970,6 +2008,9 @@

 			trace("Best effort download error " + event.toString());

+			// Note the failure.
+			failureWitnesses[event.url] = 1;
+
 			// unregister our listeners
 			stopListeningToBestEffortDownload(false);


Handle recent valgrinds without --log-file-exactly option.

	* build-aux/instrument.as(instrument): Check output of valgrind
	  --help to find the name of the loging option.

Signed-off-by: Matthieu Nottale <73d816bf5a7c98ca49eb19b3fa4036e0ae653e5f@gostai.com>

--- build-aux/instrument.as
+++ build-aux/instrument.as
@@ -59,10 +59,16 @@
 	    if test -f $srcdir/valgrind-suppressions; then
 	      suppressions="--suppressions=$srcdir/valgrind-suppressions"
 	    fi
-	    echo "$VALGRIND"			\
-		 "--error-exitcode=242"		\
-		 "--log-file-exactly=$log"	\
-		 "$suppressions"		\
+
+	    case $($VALGRIND --help) in
+	    *--log-file-exactly*) valgrind_log_option_name=--log-file-exactly ;;
+	    *) valgrind_log_option_name=--log-file ;;
+	    esac
+
+	    echo "$VALGRIND"				\
+	      "--error-exitcode=242"			\
+		 "$valgrind_log_option_name=$log"	\
+		 "$suppressions"			\
 		 "--"
 	  else
 	    stderr "cannot find valgrind as $VALGRIND"


Transferred from the Adobe Open Source Subversion Repository

Revision: 16761
Author:   hmuller@adobe.com
Date:     2010-07-01T04:42:48.794584Z

Log Message:
-----------
The following changes apply to Spark DataGrid only.   Code reviews have been deferred until the implementation is closer to completion.

Substantially revised the way DataGrid/Grid typicalItem is used by GridLayout to compute column widths and (soon) the default row height.  Typical item based column widths are now computed just once and cached.

Added typicalCellWidth,Height methods to GridDimensions.

Made the GridDimensions getCellX() and getCellY() methods public.

Temporarily added fixedRowHeight property to Grid.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridDimensions.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GridLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/Grid.as
+++ frameworks/projects/spark/src/spark/components/Grid.as
@@ -524,6 +524,38 @@
         }

         //----------------------------------
+        //  fixedRowHeight
+        //----------------------------------
+
+        [Bindable("fixedRowHeightChanged")]
+
+        /**
+         *  If fixedRowHeight is set, calling getRowBounds() will return
+         *  its value as the height for every row. Individual cell heights are not
+         *  affected, but calling getCellBounds will return bounds
+         *  respecting fixedRowHeight. The fixedRowHeight is always
+         *  bounded by the minRowHeight and maxRowHeight.
+         *
+         *  @default NaN
+         */
+        public function get fixedRowHeight():Number
+        {
+            return gridDimensions.fixedRowHeight;
+        }
+
+        /**
+         *  @private
+         */
+        public function set fixedRowHeight(value:Number):void
+        {
+            if (value == fixedRowHeight)
+                return;
+
+            gridDimensions.fixedRowHeight = value;
+            dispatchChangeEvent("fixedRowHeightChanged");
+        }
+
+        //----------------------------------
         //  hoverIndicator
         //----------------------------------

@@ -1218,7 +1250,7 @@

             _rowBackground = value;
             dispatchChangeEvent("rowBackgroundChanged");
-        }
+        }

         //----------------------------------
         //  rowSeparator


Transferred from the Adobe Open Source Subversion Repository

Revision: 8481
Author:   smgilson@adobe.com
Date:     2009-07-09T17:28:31.741329Z

Log Message:
-----------
First of several checkins to update the namespace in ASDoc MXML syntax descriptions for Spark components

QE Notes: None
Doc Notes: None
Bugs: -
Checkintests: passed

Modified Paths:
--------------
<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/spark/src/spark/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/HGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TrackBase.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>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<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/SkinnableContainer.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/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Range.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DataGroup.as</path>

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -114,7 +114,7 @@
  *  attributes of its superclass and adds the following tag attributes:

  *
  *

- *  <List
+ *  <s:List
  *    Properties
  *    allowMultipleSelection="false"
  *    selectedIndices="null"


Transferred from the Adobe Open Source Subversion Repository

Revision: 6973
Author:   hmuller@adobe.com
Date:     2009-05-15T21:49:15.759682Z

Log Message:
-----------
Override the inherited List.useVirtualLayout property to document the fact that, in List,
the default value is true.  Update the Scroller minViewportInset ASDoc.

QE Notes: should have no impact on tests
Doc Notes:
Bugs:
Reviewer:

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

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

--- frameworks/projects/spark/src/spark/components/List.as
+++ frameworks/projects/spark/src/spark/components/List.as
@@ -369,6 +369,34 @@
         }

         selectedIndices = indices;
+    }
+
+    /**
+     *  A convenience that delegates to layout.useVirtualLayout.
+     *  If this list's layout is subsequently replaced and the value of this
+     *  property is true, then then the new layout's useVirtualLayout property
+     *  will also be true.
+     *
+     *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    override public function get useVirtualLayout():Boolean
+    {
+        return super.useVirtualLayout;
+    }
+
+    /**
+     *  @private
+     *  The set/get overrides here only exist as a place to document the fact that
+     *  the default for this inherited property is now true.  See the List constructor.
+     */
+    override public function set useVirtualLayout(value:Boolean):void
+    {
+        super.useVirtualLayout = value;
     }

     //--------------------------------------------------------------------------


Potential fix for out of bounds array access.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -1368,7 +1368,7 @@
 				return createHTTPStreamRequest( curSegment );
 			}

-			if ( reloadingManifest || !manifest.streamEnds )
+			if ( (reloadingManifest || !manifest.streamEnds) && segments.length > 0)
 			{
 				trace("Stalling -- requested segment " + newSequence + " past the end " + segments[segments.length-1].id + " and we're in a live stream");


Transferred from the Adobe Open Source Subversion Repository

Revision: 5770
Author:   gruehle@adobe.com
Date:     2009-03-30T20:58:54.529722Z

Log Message:
-----------
Add [Alternative] metadata to the Halo components that have a Gumbo replacement.

Bugs: SDK-20190
QA notes: none
Doc notes: Additional ASDoc comments added for many of the classes. These should all be reviewed.
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TileList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Zoom.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToggleButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/HBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ViewStack.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Cubic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Fade.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/framework/src/mx/effects/RemoveChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/TweenEffect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeRight.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/VBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Glow.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.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/effects/easing/Quartic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Box.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeLeft.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quintic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Tween.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Tile.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/easing/Quadratic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/AddChildAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeDown.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/SetPropertyAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Canvas.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Label.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Blur.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Text.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HorizontalList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/WipeUp.as</path>

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

--- frameworks/projects/mx/src/mx/controls/TextArea.as
+++ frameworks/projects/mx/src/mx/controls/TextArea.as
@@ -195,7 +195,9 @@
 [IconFile("TextArea.png")]

 [ResourceBundle("controls")]
-
+
+[Alternative(replacement="spark.components.TextArea", since="4.0")]
+
 /**
  *  The TextArea control is a multiline text field
  *  with a border and optional scroll bars.


updated transformation manager type hanlder

--- ApplicationMap/src/main/actionscript/sk/yoz/ycanvas/map/demo/MapHelperMain.as
+++ ApplicationMap/src/main/actionscript/sk/yoz/ycanvas/map/demo/MapHelperMain.as
@@ -1,5 +1,6 @@
 package sk.yoz.ycanvas.map.demo
 {
+    import flash.ui.Mouse;
     import flash.ui.Multitouch;

     import feathers.controls.Label;
@@ -18,6 +19,7 @@
     import sk.yoz.ycanvas.map.valueObjects.Limit;
     import sk.yoz.ycanvas.map.valueObjects.Transformation;

+    import starling.core.Starling;
     import starling.display.Image;
     import starling.events.TouchEvent;
     import starling.events.TouchPhase;
@@ -51,10 +53,9 @@

             map = new YCanvasMap(Maps.ARCGIS_IMAGERY, transformation, 256);
             map.addEventListener(CanvasEvent.TRANSFORMATION_FINISHED, onMapTransformationFinished);
-
-            transformationManager = Multitouch.supportsTouchEvents
-                ? new TouchTransformationManager(map, limit)
-                : new MouseTransformationManager(map, limit);
+            transformationManager = Mouse.supportsCursor && !Starling.multitouchEnabled
+                ? new MouseTransformationManager(map, limit)
+                : new TouchTransformationManager(map, limit);

             polygonLayer = new MapLayer;
             polygonLayer.addEventListener(TouchEvent.TOUCH, onPolygonLayerTouch);


Allow our derived class to override our width/height configuration.

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

--- src/as/com/threerings/ezgame/client/EZGamePanel.as
+++ src/as/com/threerings/ezgame/client/EZGamePanel.as
@@ -64,8 +64,7 @@
         backend = createBackend();

         _gameView = new GameContainer(cfg.getGameDefinition().getMediaPath(cfg.getGameId()));
-        _gameView.percentWidth = 100;
-        _gameView.percentHeight = 100;
+        configureGameView(_gameView);
         backend.setSharedEvents(
             Loader(_gameView.getMediaContainer().getMedia()).contentLoaderInfo.sharedEvents);
         backend.setContainer(_gameView);
@@ -88,12 +87,16 @@
     {
         return new GameControlBackend(_ctx, _ezObj, _ctrl);
     }
+
+    protected function configureGameView (view :GameContainer) :void
+    {
+        view.percentWidth = 100;
+        view.percentHeight = 100;
+    }

     protected var _ctx :CrowdContext;
     protected var _ctrl :EZGameController;
-
     protected var _gameView :GameContainer;
-
     protected var _ezObj :EZGameObject;
 }
 }


http auth: Less newlines in Basic auth

http auth: Less newlines in Basic auth

Change-Id: I92bd14e0d70f953f8ea9ddeddbe16ec69c94a3ad

--- src/com/axis/http/auth.as
+++ src/com/axis/http/auth.as
@@ -10,6 +10,7 @@
     public static function basic(user:String, pass:String):String
     {
       var b64:Base64Encoder = new Base64Encoder();
+      b64.insertNewLines = false;
       b64.encode(user + ':' + pass);
       return 'Basic ' + b64.toString();
     }
@@ -88,7 +89,7 @@
       var content:String = '';
       switch (authState) {
         case "basic":
-          content = basic(urlParsed.user, urlParsed.pass) + "\r\n";
+          content = basic(urlParsed.user, urlParsed.pass);
           break;

         case "digest":


small change to prevent unnecessary function calls.

Change-Id: Iea588eee17c1e499d8e2a97ddb66d0f7fdae54d6

--- WeaveUI/src/weave/application/VisApplication.as
+++ WeaveUI/src/weave/application/VisApplication.as
@@ -530,13 +530,13 @@

 		private function handleScreenshotImageSize():void
 		{
-			if (WeaveAPI.ErrorManager.errors.length)
-			{
-				handleRemoveScreenshot();
-				return;
-			}
 			if (_screenshot)
 			{
+				if (WeaveAPI.ErrorManager.errors.length)
+				{
+					handleRemoveScreenshot();
+					return;
+				}
 				var workspace:Canvas = visDesktop.internalCanvas;
 				_screenshot.width = this.width;
 				_screenshot.height = this.height;


fixed bug where override values wouldn't be used if fullDataBounds was
empty

Change-Id: I1c1ce8ed05ac09f78f6579ebc59ddac6b095ca71

--- WeaveUISpark/src/weave/visualization/layers/PlotManager.as
+++ WeaveUISpark/src/weave/visualization/layers/PlotManager.as
@@ -233,26 +233,26 @@
 			if (enableAutoZoomToExtent.value || tempDataBounds.isUndefined())
 			{
 				if (!fullDataBounds.isEmpty())
-				{
 					tempDataBounds.copyFrom(fullDataBounds);
-					if (isFinite(overrideXMin.value))
-						tempDataBounds.setXMin(overrideXMin.value);
-					if (isFinite(overrideXMax.value))
-						tempDataBounds.setXMax(overrideXMax.value);
-					if (isFinite(overrideYMin.value))
-						tempDataBounds.setYMin(overrideYMin.value);
-					if (isFinite(overrideYMax.value))
-						tempDataBounds.setYMax(overrideYMax.value);
-					if (enableFixedAspectRatio.value)
-					{
-						var xScale:Number = tempDataBounds.getWidth() / tempScreenBounds.getXCoverage();
-						var yScale:Number = tempDataBounds.getHeight() / tempScreenBounds.getYCoverage();
-						// keep greater data-to-pixel ratio because we want to zoom out if necessary
-						if (xScale > yScale)
-							tempDataBounds.setHeight(tempScreenBounds.getYCoverage() * xScale);
-						if (yScale > xScale)
-							tempDataBounds.setWidth(tempScreenBounds.getXCoverage() * yScale);
-					}
+
+				if (isFinite(overrideXMin.value))
+					tempDataBounds.setXMin(overrideXMin.value);
+				if (isFinite(overrideXMax.value))
+					tempDataBounds.setXMax(overrideXMax.value);
+				if (isFinite(overrideYMin.value))
+					tempDataBounds.setYMin(overrideYMin.value);
+				if (isFinite(overrideYMax.value))
+					tempDataBounds.setYMax(overrideYMax.value);
+
+				if (enableFixedAspectRatio.value)
+				{
+					var xScale:Number = tempDataBounds.getWidth() / tempScreenBounds.getXCoverage();
+					var yScale:Number = tempDataBounds.getHeight() / tempScreenBounds.getYCoverage();
+					// keep greater data-to-pixel ratio because we want to zoom out if necessary
+					if (xScale > yScale)
+						tempDataBounds.setHeight(tempScreenBounds.getYCoverage() * xScale);
+					if (yScale > xScale)
+						tempDataBounds.setWidth(tempScreenBounds.getXCoverage() * yScale);
 				}
 			}


OutgoingDataEvent.data was supposed to he uncompressed but was compressed is compression is enabled.

--- src/org/igniterealtime/xiff/core/XMPPConnection.as
+++ src/org/igniterealtime/xiff/core/XMPPConnection.as
@@ -1511,23 +1511,23 @@

 			bytedata.position = 0;

-			if ( compressionNegotiated )
-			{
-				bytedata.compress();
-				bytedata.position = 0; // maybe not needed.
-			}
-
-			if ( socket && socket.connected )
-			{
-				socket.writeBytes( bytedata, 0, bytedata.length );
-				socket.flush();
-			}
-
-			_outgoingBytes += bytedata.length;
-
 			var event:OutgoingDataEvent = new OutgoingDataEvent();
 			event.data = bytedata;
 			dispatchEvent( event );
+
+			if ( compressionNegotiated )
+			{
+				bytedata.compress();
+				bytedata.position = 0; // maybe not needed.
+			}
+
+			if ( socket && socket.connected )
+			{
+				socket.writeBytes( bytedata, 0, bytedata.length );
+				socket.flush();
+			}
+
+			_outgoingBytes += bytedata.length;
 		}

 		/**


323 Removing buildFromAuthoring() function as it assumes a sub/superclass relationship defined in library linkage which nobody wants to do any more

--- raw/src/org/yellcorp/lib/ui/scrollbar/BaseScrollBar.as
+++ raw/src/org/yellcorp/lib/ui/scrollbar/BaseScrollBar.as
@@ -64,19 +64,10 @@

         super();

-        // if a skin was provided, use it to build the necessary
-        // display objects
-        if (skin)
-        {
-            buildFromSkin();
-        }
-        else
-        {
-        // if a null skin, assume that this is the superclass of
-        // a clip drawn and linked in Flash IDE, with the necessary parts
-        // with appropriate instance names on the timeline.
-            buildFromAuthoring();
-        }
+        addChild(track = skin.createTrack());
+        addChild(decButton = skin.createDecrementButton());
+        addChild(incButton = skin.createIncrementButton());
+        addChild(cursor = skin.createCursor());

         _width = decButton.width;
         _height = decButton.height;
@@ -501,22 +492,6 @@
         }
     }

-    private function buildFromSkin():void
-    {
-        addChild(track = skin.createTrack());
-        addChild(decButton = skin.createDecrementButton());
-        addChild(incButton = skin.createIncrementButton());
-        addChild(cursor = skin.createCursor());
-    }
-
-    private function buildFromAuthoring():void
-    {
-        track = InteractiveObject(getChildByName('track'));
-        decButton = InteractiveObject(getChildByName('decrementButton'));
-        incButton = InteractiveObject(getChildByName('incrementButton'));
-        cursor = InteractiveObject(getChildByName('cursor'));
-    }
-
     private function setupView():void
     {
         nativeDecButtonSize = getAxisSize(decButton);


Just redispatch Event.COMPLETE from our Loader.
This fixes the AVRG loading button...

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

--- src/as/com/threerings/flash/MediaContainer.as
+++ src/as/com/threerings/flash/MediaContainer.as
@@ -241,7 +241,7 @@
      */
     protected function didShowNewMedia () :void
     {
-        dispatchEvent(new Event(Event.COMPLETE));
+        // nada in the base class...
     }

     /**
@@ -624,6 +624,9 @@
         updateContentDimensions(info.width, info.height);
         updateLoadingProgress(1, 1);
         stoppedLoading();
+
+        // redispatch
+        dispatchEvent(event);
     }

     /**


- Fixed bug with creating the default header.
- Don't set up the players labels if we're not connected.

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

--- src/as/com/threerings/ezgame/PlayersDisplay.as
+++ src/as/com/threerings/ezgame/PlayersDisplay.as
@@ -82,6 +82,10 @@
             maxWidth = label.textWidth + TEXTWIDTH_ADD;
         }

+        if (!_gameCtrl.isConnected()) {
+            return; // nothing to do
+        }
+
         var players :Array = _gameCtrl.seating.getPlayerIds();

         // create a label for each player
@@ -128,7 +132,7 @@

     protected function createHeader () :TextField
     {
-        var label :TextField = createHeader();
+        var label :TextField = new TextField();
 // damn stylesheet doesn't seem to actually -work-
 //        var style :StyleSheet = new StyleSheet();
 //        style.fontWeight = "bold";


Рефакторинг Parameters

Рефакторинг Parameters

--- src/main/org/shypl/common/util/ParametersObject.as
+++ src/main/org/shypl/common/util/ParametersObject.as
@@ -17,6 +17,9 @@
 		}

 		public function setIfAbsent(name:String, value:Object):void {
+			if (!contains(name)) {
+				set(name, value);
+			}
 		}

 		public function get(name:String, defaultValue:Object = null):Object {


The labelDisplay var in ItemRenderer is now Bindable.  [SDK-31019].

git-svn-id: 7d913817b0a978d84de757191e4bce372605a781@1403826 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as
@@ -349,6 +349,7 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    [Bindable]
     public var labelDisplay:TextBase;

     //----------------------------------


reduce checks

reduce checks

--- src/com/kemsky/Stream.as
+++ src/com/kemsky/Stream.as
@@ -573,6 +573,11 @@
          */
         public function foldLeft(callback:Function, initial:* = undefined):*
         {
+            if(initial === undefined && source.length == 0)
+            {
+                throw new Error("Stream is empty");
+            }
+
             var context:* = initial === undefined ? first : initial;
             var start:int = initial === undefined ? 0 : 1;
             for (var i:int = start; i < source.length; i++)
@@ -590,6 +595,11 @@
          */
         public function foldRight(callback:Function, initial:* = undefined):*
         {
+            if(initial === undefined && source.length == 0)
+            {
+                throw new Error("Stream is empty");
+            }
+
             var context:* = initial === undefined ? last : initial;
             var start:int = initial === undefined ? source.length - 2 : source.length - 1;
             for (var i:int = start; i > 0; i--)