flashlsFlowPlayer.swf: fire START event once related to #148

--- src/org/mangui/flowplayer/HLSStreamProvider.as
+++ src/org/mangui/flowplayer/HLSStreamProvider.as
@@ -1,7 +1,7 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
- package org.mangui.flowplayer {
+package org.mangui.flowplayer {
     import org.mangui.hls.event.HLSEvent;
     import org.mangui.hls.utils.Params2Settings;

@@ -13,7 +13,6 @@

     import org.mangui.hls.HLS;
     import org.mangui.hls.constant.HLSPlayStates;
-
     import org.flowplayer.model.Plugin;
     import org.flowplayer.model.PluginModel;
     import org.flowplayer.view.Flowplayer;
@@ -26,11 +25,10 @@
     import org.flowplayer.model.ClipEventType;
     import org.flowplayer.model.Playlist;
     import org.flowplayer.view.StageVideoWrapper;
-
+
     CONFIG::LOGGING {
-    import org.mangui.hls.utils.Log;
+        import org.mangui.hls.utils.Log;
     }
-
     public class HLSStreamProvider  implements StreamProvider,Plugin {
         private var _volumecontroller : VolumeController;
         private var _playlist : Playlist;
@@ -57,14 +55,14 @@

         public function onConfig(model : PluginModel) : void {
             CONFIG::LOGGING {
-            Log.info("onConfig()");
+                Log.info("onConfig()");
             }
             _model = model;
         }

         public function onLoad(player : Flowplayer) : void {
             CONFIG::LOGGING {
-            Log.info("onLoad()");
+                Log.info("onLoad()");
             }
             _player = player;
             _hls = new HLS();
@@ -90,6 +88,7 @@
         private function _completeHandler(event : HLSEvent) : void {
             // dispatch a before event because the finish has default behavior that can be prevented by listeners
             _clip.dispatchBeforeEvent(new ClipEvent(ClipEventType.FINISH));
+            _clip.startDispatched = false;
         };

         private function _errorHandler(event : HLSEvent) : void {
@@ -129,7 +128,7 @@
             // _seekable = true;
             // }
             _hls.stream.play();
-            _clip.dispatch(ClipEventType.SEEK,0);
+            _clip.dispatch(ClipEventType.SEEK, 0);
             if (_pauseAfterStart) {
                 pause(new ClipEvent(ClipEventType.PAUSE));
             }
@@ -146,13 +145,16 @@
                 var changed : Boolean = _videoWidth != videoWidth || _videoHeight != videoHeight;
                 if (changed) {
                     CONFIG::LOGGING {
-                    Log.info("video size changed to " + videoWidth + "/" + videoHeight);
+                        Log.info("video size changed to " + videoWidth + "/" + videoHeight);
                     }
                     _videoWidth = videoWidth;
                     _videoHeight = videoHeight;
                     _clip.originalWidth = videoWidth;
                     _clip.originalHeight = videoHeight;
-                    _clip.dispatch(ClipEventType.START);
+                    if (!_clip.startDispatched) {
+                        _clip.dispatch(ClipEventType.START);
+                        _clip.startDispatched = true;
+                    }
                     _clip.dispatch(ClipEventType.METADATA_CHANGED);
                 }
             }
@@ -193,7 +195,7 @@
         public function load(event : ClipEvent, clip : Clip, pauseAfterStart : Boolean = true) : void {
             _clip = clip;
             CONFIG::LOGGING {
-            Log.info("load()" + clip.completeUrl);
+                Log.info("load()" + clip.completeUrl);
             }
             _hls.load(clip.completeUrl);
             _pauseAfterStart = pauseAfterStart;
@@ -211,12 +213,12 @@
          */
         public function getVideo(clip : Clip) : DisplayObject {
             CONFIG::LOGGING {
-            Log.debug("getVideo()");
+                Log.debug("getVideo()");
             }
             if (_video == null) {
                 if (clip.useStageVideo) {
                     CONFIG::LOGGING {
-                    Log.debug("useStageVideo");
+                        Log.debug("useStageVideo");
                     }
                     _video = new StageVideoWrapper(clip);
                 } else {
@@ -234,7 +236,7 @@
          */
         public function attachStream(video : DisplayObject) : void {
             CONFIG::LOGGING {
-            Log.debug("attachStream()");
+                Log.debug("attachStream()");
             }
             Video(video).attachNetStream(_hls.stream);
             return;
@@ -246,7 +248,7 @@
          */
         public function pause(event : ClipEvent) : void {
             CONFIG::LOGGING {
-            Log.info("pause()");
+                Log.info("pause()");
             }
             _hls.stream.pause();
             if (event) {
@@ -261,7 +263,7 @@
          */
         public function resume(event : ClipEvent) : void {
             CONFIG::LOGGING {
-            Log.info("resume()");
+                Log.info("resume()");
             }
             _hls.stream.resume();
             _clip.dispatch(ClipEventType.RESUME);
@@ -274,7 +276,7 @@
          */
         public function stop(event : ClipEvent, closeStream : Boolean = false) : void {
             CONFIG::LOGGING {
-            Log.info("stop()");
+                Log.info("stop()");
             }
             _hls.stream.close();
             return;
@@ -287,7 +289,7 @@
          */
         public function seek(event : ClipEvent, seconds : Number) : void {
             CONFIG::LOGGING {
-            Log.info("seek()");
+                Log.info("seek()");
             }
             _hls.stream.seek(seconds);
             _position = seconds;
@@ -350,7 +352,7 @@
          */
         public function get stopping() : Boolean {
             CONFIG::LOGGING {
-            Log.info("stopping()");
+                Log.info("stopping()");
             }
             return false;
         }
@@ -368,7 +370,7 @@

         public function get playlist() : Playlist {
             CONFIG::LOGGING {
-            Log.debug("get playlist()");
+                Log.debug("get playlist()");
             }
             return _playlist;
         }
@@ -383,7 +385,7 @@
          */
         public function addConnectionCallback(name : String, listener : Function) : void {
             CONFIG::LOGGING {
-            Log.debug("addConnectionCallback()");
+                Log.debug("addConnectionCallback()");
             }
             return;
         }
@@ -399,7 +401,7 @@
          */
         public function addStreamCallback(name : String, listener : Function) : void {
             CONFIG::LOGGING {
-            Log.debug("addStreamCallback()");
+                Log.debug("addStreamCallback()");
             }
             return;
         }
@@ -410,7 +412,7 @@
          */
         public function get streamCallbacks() : Dictionary {
             CONFIG::LOGGING {
-            Log.debug("get streamCallbacks()");
+                Log.debug("get streamCallbacks()");
             }
             return null;
         }
@@ -421,7 +423,7 @@
          */
         public function get netStream() : NetStream {
             CONFIG::LOGGING {
-            Log.debug("get netStream()");
+                Log.debug("get netStream()");
             }
             return _hls.stream;
         }
@@ -432,7 +434,7 @@
          */
         public function get netConnection() : NetConnection {
             CONFIG::LOGGING {
-            Log.debug("get netConnection()");
+                Log.debug("get netConnection()");
             }
             return null;
         }
@@ -445,7 +447,7 @@
          */
         public function set timeProvider(timeProvider : TimeProvider) : void {
             CONFIG::LOGGING {
-            Log.debug("set timeProvider()");
+                Log.debug("set timeProvider()");
             }
             _timeProvider = timeProvider;
             return;
@@ -467,7 +469,7 @@
          */
         public function switchStream(event : ClipEvent, clip : Clip, netStreamPlayOptions : Object = null) : void {
             CONFIG::LOGGING {
-            Log.info("switchStream()");
+                Log.info("switchStream()");
             }
             return;
         }


Extended StandardLib.interpolateColor to handle any number of colors.

--- WeaveCore/src/weave/compiler/StandardLib.as
+++ WeaveCore/src/weave/compiler/StandardLib.as
@@ -321,14 +321,33 @@

 		/**
 		 * @param normValue A Number between 0 and 1.
-		 * @param minColor A color associated with a value of 0.
-		 * @param maxColor A color associated with a value of 1.
+		 * @param colors An Array or list of colors to interpolate between.  Normalized values of 0 and 1 will be mapped to the first and last colors.
 		 * @return An interpolated color associated with the given normValue based on the min,max color values.
 		 */
-		public static function interpolateColor(normValue:Number, minColor:int, maxColor:int):Number
-		{
-			if (normValue < 0 || normValue > 1)
+		public static function interpolateColor(normValue:Number, ...colors):Number
+		{
+			// handle an array of colors as the second parameter
+			if (colors.length == 1 && colors[0] is Array)
+				colors = colors[0];
+
+			// handle invalid parameters
+			if (normValue < 0 || normValue > 1 || colors.length == 0)
 				return NaN;
+
+			// find the min and max colors we want to interpolate between
+
+			var maxIndex:int = colors.length - 1;
+			var leftIndex:int = maxIndex * normValue;
+			var rightIndex:int = leftIndex + 1;
+
+			// handle boundary condition
+			if (rightIndex == colors.length)
+				return colors[leftIndex];
+
+			var minColor:Number = colors[leftIndex];
+			var maxColor:Number = colors[rightIndex];
+			// normalize the norm value between the two norm values associated with the surrounding colors
+			normValue = normValue * maxIndex - leftIndex;

 			var percentLeft:Number = 1 - normValue; // relevance of minColor
 			var percentRight:Number = normValue; // relevance of maxColor


Transferred from the Adobe Open Source Subversion Repository

Revision: 11447
Author:   chaase@adobe.com
Date:     2009-11-05T00:12:40.026724Z

Log Message:
-----------
Fix to 3 unrelated bugs.
- Auto-fading logic was clobbering the state-specified value of alpha in some situations (and the logic was way complex and fragile, so a refactoring was needed).
- Animation now handles sorting of Resize animations to be processed first in each frame, to improve some of the Resize/transform-effect interaction.
- Post-layout translation animations were being automatically created in some situations, ignoring any startDelays set on the real translation animations. The fix was to pick up the real translation animation info to pre-populate the post-layout animations.

QE notes: None
Doc notes:  None
Bugs:  sdk-23399, sdk-22563, sdk-24010, sdk-23252
Reviewer: Kevin
Tests run: checkintests, Mustella spark/effects
Is noteworthy for integration: Yes - some fixes requested by Tools

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<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/supportClasses/AnimateTransformInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransformInstance.as
@@ -523,14 +523,17 @@
         }
         for (s in autoProps)
         {
+            if (!motionPaths)
+                motionPaths = new Vector.<MotionPath>();
             var autoPropsEaser:IEaser;
             if (!autoPropsEaser)
             {
                 // Attempt to use the same easer used in the existing keyframes. Assume that
                 // The first set of keyframes ends with the same easing that is applied elsewhere
                 // in this motion path. If that doesn't work, use the default for the SDK (Sine(.5))
-                if (motionPaths &&
-                    motionPaths[0] && motionPaths[0].keyframes &&
+                if (motionPaths.length > 0 &&
+                    motionPaths[0] && motionPaths[0].keyframes &&
+                    motionPaths[0].keyframes.length > 0 &&
                     motionPaths[0].keyframes[motionPaths[0].keyframes.length-1])
                 {
                     autoPropsEaser = motionPaths[0].keyframes[motionPaths[0].keyframes.length-1].easer;
@@ -541,12 +544,37 @@
                 }
             }
             var mp:MotionPath = new MotionPath(s);
-            mp.keyframes = new <Keyframe>[new Keyframe(0, null),
-                new Keyframe(duration, null)];
-            mp.keyframes[1].easer = autoPropsEaser;
-            mp.scaleKeyframes(duration);
-            if (!motionPaths)
-                motionPaths = new Vector.<MotionPath>();
+            var mpDone:Boolean = false;
+            if (s.indexOf("postLayoutTranslation") == 0)
+            {
+                // Special-case postLayoutTranslation: use any existing pre-layout values
+                var preLayoutProp:String = (s == "postLayoutTranslationX") ?
+                    "translationX" :
+                    (s == "postLayoutTranslationY") ?
+                    "translationY" :
+                    "translationZ";
+                for (var k:int = 0; k < motionPaths.length; ++k)
+                {
+                    var preLayoutMP:MotionPath = motionPaths[k];
+                    if (preLayoutMP.property == preLayoutProp)
+                    {
+                        mp.keyframes = new Vector.<Keyframe>(preLayoutMP.keyframes.length);
+                        for (var m:int = 0; m < mp.keyframes.length; ++m)
+                        {
+                            mp.keyframes[m] = preLayoutMP.keyframes[m].clone();
+                        }
+                        mpDone = true;
+                        break;
+                    }
+                }
+            }
+            if (!mpDone)
+            {
+                mp.keyframes = new <Keyframe>[new Keyframe(0, null),
+                    new Keyframe(duration, null)];
+                mp.keyframes[1].easer = autoPropsEaser;
+                mp.scaleKeyframes(duration);
+            }
             motionPaths.push(mp);
         }
         if (propertyChanges && !disableLayout)


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

--- frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/AdvancedNonInheritingTextStyles.as
@@ -1,29 +1,4 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 Adobe Systems Incorporated
-//  All Rights Reserved.
-//
-//  NOTICE: Adobe permits you to use, modify, and distribute this file
-//  in accordance with the terms of the license agreement accompanying it.
-//
-////////////////////////////////////////////////////////////////////////////////

-/**
- *  Number of text columns.
- *
- *
For the Spark theme, see
- *  flashx.textLayout.formats.ITextLayoutFormat.columnCount.

- *
- *
For the Mobile theme, this is not supported.

- *
- *  @see flashx.textLayout.formats.ITextLayoutFormat#columnCount
- *
- *  @langversion 3.0
- *  @playerversion Flash 10
- *  @playerversion AIR 1.5
- *  @productversion Flex 4
- */
 [Style(name="columnCount", type="Object", inherit="no")]

 /**


FIXED incorrect conditional operator when removing token callback (resolves #4)

--- actionscript/src/com/marpies/ane/vk/VK.as
+++ actionscript/src/com/marpies/ane/vk/VK.as
@@ -182,7 +182,7 @@
             if( callback === null ) throw new ArgumentError( "Parameter callback cannot be null." );

             var index:int = mTokenUpdateCallbacks.indexOf( callback );
-            if( index < 0 ) {
+            if( index >= 0 ) {
                 mTokenUpdateCallbacks.removeAt( index );
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19337
Author:   mhorn@adobe.com
Date:     2010-12-13T22:01:27.841985Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextInputSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ListSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderTrackSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -34,8 +34,8 @@
 - should we support textAlign (if not, remove extra code)
 */
 /**
- *  Actionscript based skin for mobile applications. The skin supports
- *  icon and iconPlacement. It uses a couple of FXG classes to
+ *  ActionScript-based skin for mobile applications. The skin supports
+ *  icon and iconPlacement. It uses FXG classes to
  *  implement the vector drawing.
  *
  *  @langversion 3.0


DisplayList compares will ignore weirdness with StaticText

--- mustella/as3/src/mustella/CompareBitmap.as
+++ mustella/as3/src/mustella/CompareBitmap.as
@@ -1311,7 +1311,7 @@
 			{
 				a = trimTag(a);
 				b = trimTag(b);
-				if (a != b)
+				if (a != b && !nullChildOrStaticText(a, b))
 				{
 					retval = true;
 					var c:String = "";
@@ -1362,6 +1362,20 @@
 		}
 		return a;
 	}
+
+	// static text seems to float around a bit so ignore it.
+	private function nullChildOrStaticText(a:String, b:String):Boolean
+	{
+		if (a.indexOf("<NullChild") != -1)
+			return true;
+		if (b.indexOf("<NullChild") != -1)
+			return true;
+		if (a.indexOf("<flash.text.StaticText") != -1)
+			return true;
+		if (b.indexOf("<flash.text.StaticText") != -1)
+			return true;
+		return false;
+	}
 }

 }


Solve compilation problem

Solve compilation problem

--- collect-client/src/main/flex/org/openforis/collect/presenter/CSVDataImportPresenter.as
+++ collect-client/src/main/flex/org/openforis/collect/presenter/CSVDataImportPresenter.as
@@ -60,11 +60,10 @@

 		override protected function createFileFilter():FileFilter {
 			switch(view.importType.selectedValue) {
-			case CSVDataImportView.INSERT_NEW_RECORDS_TYPE:
-			case CSVDataImportView.UPDATE_EXISTING_RECORDS_TYPE:
-				return new FileFilter("Excel documents", AbstractReferenceDataImportPresenter.ALLOWED_IMPORT_FILE_EXTENSIONS.join("; "));
 			case CSVDataImportView.IMPORT_MULTIPLE_FILES_TYPE:
 				return new FileFilter("Collect data export ZIP file", ALLOWED_MULTIPLE_FILES_IMPORT_FILE_EXTENSIONS.join("; "));
+			default:
+				return new FileFilter("Excel documents", AbstractReferenceDataImportPresenter.ALLOWED_IMPORT_FILE_EXTENSIONS.join("; "));
 			}
 		}


rewrite to assume a single child as the content area

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/ScrollingContainerView.as
@@ -22,18 +22,19 @@
 	import org.apache.flex.core.BeadViewBase;
 	import org.apache.flex.core.IBead;
 	import org.apache.flex.core.IBeadView;
+	import org.apache.flex.core.IParent;
+	import org.apache.flex.core.IParentIUIBase;
 	import org.apache.flex.core.IScrollingLayoutParent;
 	import org.apache.flex.core.IStrand;
-    import org.apache.flex.core.IParentIUIBase;
-    import org.apache.flex.core.IParent;
-    import org.apache.flex.core.IUIBase;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.UIBase;
 	import org.apache.flex.core.ValuesManager;
+    import org.apache.flex.events.Event;
 	import org.apache.flex.html.Container;
+	import org.apache.flex.html.beads.models.ScrollBarModel;
 	import org.apache.flex.html.supportClasses.Border;
 	import org.apache.flex.html.supportClasses.ContainerContentArea;
 	import org.apache.flex.html.supportClasses.ScrollBar;
-    import org.apache.flex.html.beads.models.ScrollBarModel;

     /**
      *  The ContainerView class is the default view for
@@ -81,108 +82,44 @@
 		override public function set strand(value:IStrand):void
 		{
 			super.strand = value;
-
-			var padding:Object = determinePadding();
-
-			if (contentAreaNeeded())
-			{
-				actualParent = new ContainerContentArea();
-				IParent(value).addElement(actualParent);
-				Container(value).setActualParent(actualParent);
-				actualParent.x = padding.paddingLeft;
-				actualParent.y = padding.paddingTop;
-			}
-			else
-			{
-				actualParent = value as UIBase;
-			}
-
-			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
-			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(value, "background-image");
+            var host:UIBase = value as UIBase;
+            if (host.numChildren > 0)
+                childHandler(null);
+            else
+                host.addEventListener("childrenAdded", childHandler);
+        }
+
+        private function childHandler(event:Event):void
+        {
+            var host:UIBase = _strand as UIBase;
+            if (host.numChildren > 0)
+            {
+                actualParent = host.getChildAt(0) as UIBase;
+            }
+
+			var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
+			var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
 			if (backgroundColor != null || backgroundImage != null)
 			{
-				if (value.getBeadByType(IBackgroundBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBackgroundBead")) as IBead);
+				if (host.getBeadByType(IBackgroundBead) == null)
+                    host.addBead(new (ValuesManager.valuesImpl.getValue(host, "iBackgroundBead")) as IBead);
 			}

 			var borderStyle:String;
-			var borderStyles:Object = ValuesManager.valuesImpl.getValue(value, "border");
+			var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
 			if (borderStyles is Array)
 			{
 				borderStyle = borderStyles[1];
 			}
 			if (borderStyle == null)
 			{
-				borderStyle = ValuesManager.valuesImpl.getValue(value, "border-style") as String;
+				borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
 			}
 			if (borderStyle != null && borderStyle != "none")
 			{
-				if (value.getBeadByType(IBorderBead) == null)
-					value.addBead(new (ValuesManager.valuesImpl.getValue(value, "iBorderBead")) as IBead);
-			}
-		}
-
-		/**
-		 *  Determines the top and left padding values, if any, as set by
-		 *  padding style values. This includes "padding" for all padding values
-		 *  as well as "padding-left" and "padding-top".
-		 *
-		 *  Returns an object with paddingLeft and paddingTop properties.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function determinePadding():Object
-		{
-			var paddingLeft:Object;
-			var paddingTop:Object;
-			var padding:Object = ValuesManager.valuesImpl.getValue(_strand, "padding");
-			if (padding is Array)
-			{
-				if (padding.length == 1)
-					paddingLeft = paddingTop = padding[0];
-				else if (padding.length <= 3)
-				{
-					paddingLeft = padding[1];
-					paddingTop = padding[0];
-				}
-				else if (padding.length == 4)
-				{
-					paddingLeft = padding[3];
-					paddingTop = padding[0];
-				}
-			}
-			else if (padding == null)
-			{
-				paddingLeft = ValuesManager.valuesImpl.getValue(_strand, "padding-left");
-				paddingTop = ValuesManager.valuesImpl.getValue(_strand, "padding-top");
-			}
-			else
-			{
-				paddingLeft = paddingTop = padding;
-			}
-			var pl:Number = Number(paddingLeft);
-			var pt:Number = Number(paddingTop);
-
-			return {paddingLeft:pl, paddingTop:pt};
-		}
-
-		/**
-		 *  Returns true if container to create a separate ContainerContentArea.
-		 *
-		 *  @langversion 3.0
-		 *  @playerversion Flash 10.2
-		 *  @playerversion AIR 2.6
-		 *  @productversion FlexJS 0.0
-		 */
-		protected function contentAreaNeeded():Boolean
-		{
-			var padding:Object = determinePadding();
-
-			return (!isNaN(padding.paddingLeft) && padding.paddingLeft > 0 ||
-				    !isNaN(padding.paddingTop) && padding.paddingTop > 0);
+				if (host.getBeadByType(IBorderBead) == null)
+                    host.addBead(new (ValuesManager.valuesImpl.getValue(host, "iBorderBead")) as IBead);
+			}
 		}

         /**


Editor: allow using -scene and -language command line parameters together

Fix https://github.com/urho3d/Urho3D/issues/2858

--- bin/Data/Scripts/Editor.as
+++ bin/Data/Scripts/Editor.as
@@ -104,24 +104,24 @@
     Array<String> arguments = GetArguments();
     bool loaded = false;

-    // Scan for a scene to load
     for (uint i = 1; i < arguments.length; ++i)
     {
         if (arguments[i].ToLower() == "-scene")
         {
-            if (++i < arguments.length)
-            {
-                loaded = LoadScene(arguments[i]);
+            if (++i == arguments.length)
                 break;
-            }
-        }
+
+            loaded = LoadScene(arguments[i]);
+            continue;
+        }
+
         if (arguments[i].ToLower() == "-language")
         {
-            if (++i < arguments.length)
-            {
-                localization.SetLanguage(arguments[i]);
+            if (++i == arguments.length)
                 break;
-            }
+
+            localization.SetLanguage(arguments[i]);
+            continue;
         }
     }


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

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

 package mx.automation.tabularData
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/mx/src/mx/controls/Alert.as
+++ frameworks/projects/mx/src/mx/controls/Alert.as
@@ -45,6 +45,11 @@
  *  styles for the Alert buttons.
  *
  *  @default "alertButtonStyle"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="buttonStyleName", type="String", inherit="no")]

@@ -58,6 +63,11 @@
  *  size itself incorrectly.

  *
  *  @default undefined
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="messageStyleName", type="String", inherit="no")]

@@ -71,6 +81,11 @@
  *  size itself incorrectly.

  *
  *  @default "windowStyles"
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Style(name="titleStyleName", type="String", inherit="no")]

@@ -100,6 +115,11 @@
  *
  *  @see mx.managers.SystemManager
  *  @see mx.managers.PopUpManager
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Alert extends Panel
 {
@@ -117,6 +137,11 @@
      *  You can use the | operator to combine this bitflag
      *  with the OK, CANCEL,
      *  NO, and NONMODAL flags.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const YES:uint = 0x0001;

@@ -126,6 +151,11 @@
      *  You can use the | operator to combine this bitflag
      *  with the OK, CANCEL,
      *  YES, and NONMODAL flags.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NO:uint = 0x0002;

@@ -135,6 +165,11 @@
      *  You can use the | operator to combine this bitflag
      *  with the CANCEL, YES,
      *  NO, and NONMODAL flags.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const OK:uint = 0x0004;

@@ -144,6 +179,11 @@
      *  You can use the | operator to combine this bitflag
      *  with the OK, YES,
      *  NO, and NONMODAL flags.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const CANCEL:uint= 0x0008;

@@ -153,6 +193,11 @@
      *  You can use the | operator to combine this bitflag
      *  with the OK, CANCEL,
      *  YES, and NO flags.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static const NONMODAL:uint = 0x8000;

@@ -220,6 +265,11 @@
      *  All buttons must be the same height.
      *
      *  @default 22
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static var buttonHeight:Number = 22;

@@ -234,6 +284,11 @@
      *  All buttons must be the same width.
      *
      *  @default 60
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static var buttonWidth:Number = FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 ? 60 : 65;

@@ -261,6 +316,11 @@
      *  buttonWidth property to fully display it.

      *
      *  The English resource bundle sets this property to "CANCEL".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function get cancelLabel():String
 	{
@@ -306,6 +366,11 @@
      *  buttonWidth property to fully display it.

      *
      *  The English resource bundle sets this property to "NO".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function get noLabel():String
 	{
@@ -351,6 +416,11 @@
      *  buttonWidth property to fully display the label.

      *
      *  The English resource bundle sets this property to "OK".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function get okLabel():String
 	{
@@ -396,6 +466,11 @@
      *  buttonWidth property to fully display the label.

      *
      *  The English resource bundle sets this property to "YES".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public static function get yesLabel():String
 	{
@@ -468,6 +543,11 @@
      *  @return A reference to the Alert control.
      *
      *  @see mx.events.CloseEvent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function show(text:String = "", title:String = "",
                                 flags:uint = 0x4 /* Alert.OK */,
@@ -591,6 +671,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Alert()
     {
@@ -633,6 +718,11 @@
 	 *  the buttons available in the Alert control.
      *
      *  @default Alert.OK
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var buttonFlags:uint = OK;

@@ -648,6 +738,11 @@
      *  or Alert.NO to specify the default button.
      *
      *  @default Alert.OK
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var defaultButtonFlag:uint = OK;

@@ -664,6 +759,11 @@
      *  to specify the value of this property.
      *
      *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var iconClass:Class;

@@ -677,6 +777,11 @@
      *  The text to display in this alert dialog box.
      *
      *  @default ""
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var text:String = "";


Transferred from the Adobe Open Source Subversion Repository

Revision: 20644
Author:   mhorn@adobe.com
Date:     2011-03-07T18:49:20.181589Z

Log Message:
-----------
ASDoc updates

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledActionButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarFirstTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaVScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/SkinnableContainerSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TransparentNavigationButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorTabBarLastTabSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewMenuItemSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonBarButtonClassFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/DefaultButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/BeveledBackButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ActionBarButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/SelectableButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/CheckBoxSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaHScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/RadioButtonSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -74,6 +74,11 @@

     /**
      *  iconDisplay skin part.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     private var iconChanged:Boolean = false;
     private var iconInstance:Object;    // Can be either DisplayObject or BitmapImage
@@ -88,20 +93,35 @@

     /**
      *  labelDisplay skin part.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public var labelDisplay:StyleableTextField;

     /**
-     *  If true, then create the iconDisplay using the icon style
+     *  If true, then create the iconDisplay using the icon style.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var useIconStyle:Boolean = true;

     /**
-     *  If true, then the labelDisplay and iconDisplay are centered
+     *  If true, then the labelDisplay and iconDisplay are centered.
      *
      *  @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var useCenterAlignment:Boolean = true;

@@ -134,22 +154,42 @@
     protected var layoutGap:int;

     /**
-     *  Left padding for icon or labelDisplay
+     *  Left padding for icon or labelDisplay.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var layoutPaddingLeft:int;

     /**
-     *  Right padding for icon or labelDisplay
+     *  Right padding for icon or labelDisplay.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var layoutPaddingRight:int;

     /**
-     *  Top padding for icon or labelDisplay
+     *  Top padding for icon or labelDisplay.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var layoutPaddingTop:int;

     /**
-     *  Bottom padding for icon or labelDisplay
+     *  Bottom padding for icon or labelDisplay.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected var layoutPaddingBottom:int;

@@ -541,6 +581,11 @@
      *  Commit alpha values for the skin when in a disabled state.
      *
      *  @see mx.core.UIComponent#enabled
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected function commitDisabled():void
     {
@@ -555,6 +600,11 @@
      *
      *  @see #setIcon
      *  @see #useIconStyle
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected function getIconDisplay():DisplayObject
     {
@@ -565,8 +615,15 @@
      *  Sets the current icon for the iconDisplay skin part.
      *  The iconDisplay skin part is created/set-up on demand.
      *
+     * @param icon The current icon.
+     *
      *  @see #getIconDisplay
      *  @see #useIconStyle
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     protected function setIcon(icon:Object):void
     {


Transferred from the Adobe Open Source Subversion Repository

Revision: 19707
Author:   jasonsj@adobe.com
Date:     2011-01-11T19:29:35.125805Z

Log Message:
-----------
Added caret tracking to mobile TextArea skin while text changes and when using arrow keys.
Fixed mobile TextArea prompt sizing.
Updated mobile ButtonBar graphics with new shadows.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarLastButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarFirstButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarFirstButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarFirstButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarFirstButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarFirstButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarMiddleButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarMiddleButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarMiddleButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarMiddleButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarLastButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarMiddleButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarLastButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarMiddleButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarLastButton_up.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/TextSkinBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarLastButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarLastButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarLastButton_selected.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/TextAreaSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarFirstButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarFirstButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarFirstButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarMiddleButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarMiddleButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile160/assets/ButtonBarMiddleButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarLastButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile240/assets/ButtonBarLastButton_down.fxg</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile320/assets/ButtonBarFirstButton_up.fxg</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as
@@ -239,10 +239,6 @@
     {
         super.measure();

-        // FIXME (jasonsj): icon-only button should not change with font size
-        //                  changes. use LabelAndIconLayout#measure(). adjust
-        //                  for ascent height
-
         var labelWidth:Number = 0;
         var labelHeight:Number = 0;
         var iconDisplay:DisplayObject = getIconDisplay();
@@ -254,8 +250,7 @@

         if (labelDisplay.text)
         {
-            // FIXME (jasonsj): was previously textWidth + UITextField.TEXT_WIDTH_PADDING + 1;
-            //                  +1 originates from MX Button without explaination
+            // +1 originates from MX Button without explaination
             var textSize:Point = labelDisplay.measuredTextSize;
             labelWidth = textSize.x + 1;
             labelHeight = textSize.y;
@@ -344,8 +339,7 @@

         if (hostComponent && hostComponent.label != "")
         {
-            // FIXME (jasonsj): was previously textWidth + UITextField.TEXT_WIDTH_PADDING + 1;
-            //                  +1 originates from MX Button without explaination
+            // +1 originates from MX Button without explaination
             var textSize:Point = labelDisplay.measuredTextSize;
             textWidth = textSize.x + 1;
             textHeight = textSize.y;


flash vod: setupNetConnection on play to adjust for RTMP streams (refs #109)

--- src/playbacks/flash_vod/Player.as
+++ src/playbacks/flash_vod/Player.as
@@ -32,8 +32,6 @@
       playbackId = LoaderInfo(this.root.loaderInfo).parameters.playbackId;
       playbackState = "IDLE";
       _video = new Video();
-      setupNetConnection();
-      setupStage();
       setupCallbacks();
       setTimeout(flashReady, 50);
     }
@@ -42,7 +40,6 @@
     }
     private function onConnectionStatus(e:NetStatusEvent):void {
         if (e.info.code == "NetConnection.Connect.Success"){
-            ExternalInterface.call('console.log', 'rolou');
             setupNetStream();
         }
     }
@@ -96,6 +93,7 @@
       return _ns.bytesLoaded;
     }
     private function netStatusHandler(event:NetStatusEvent):void {
+      ExternalInterface.call("console.log", event.info.code);
       if (event.info.code === "NetStream.Buffer.Full") {
         playbackState = "PLAYING";
       } else if (isBuffering(event.info.code)) {
@@ -121,6 +119,8 @@
       _triggerEvent('timeupdate');
     }
     private function playerPlay(url:String):void {
+      setupNetConnection();
+      setupStage();
       _ns.play(url);
       heartbeat.addEventListener( TimerEvent.TIMER, onHeartbeat );
       heartbeat.start();


set SFloat.getPropertyWriteComponentMask() to be private

--- src/aerys/minko/render/shader/SFloat.as
+++ src/aerys/minko/render/shader/SFloat.as
@@ -133,7 +133,7 @@
 			);
 		}

-		public static function getPropertyWriteComponentMask(string : String) : uint
+		private function getPropertyWriteComponentMask(string : String) : uint
 		{
 			var result : uint = 0x04040404;


Removing some unused constants.

Removing some unused constants.

--- AS3WebSocket/src/com/worlize/websocket/WebSocketEvent.as
+++ AS3WebSocket/src/com/worlize/websocket/WebSocketEvent.as
@@ -10,9 +10,6 @@
 		public static const MESSAGE:String = "message";
 		public static const FRAME:String = "frame";

-		public static const TYPE_BINARY:int = 0;
-		public static const TYPE_UTF8:int = 1;
-
 		public var message:WebSocketMessage;
 		public var frame:WebSocketFrame;


Removed a trace statement

Removed a trace statement

--- src/org/openPyro/controls/Slider.as
+++ src/org/openPyro/controls/Slider.as
@@ -403,7 +403,6 @@

 		public function set thumbButtonWidth(value:Number):void
 		{
-			trace("====>>>>  thumbbuttonwidth: "+value)
 			_thumbButtonWidth = value;
 			if(_thumbButton)
 			{


Manifest: trim white space while parsing alternate renditions

related to https://github.com/mangui/flashls/issues/6

--- src/org/mangui/hls/playlist/Manifest.as
+++ src/org/mangui/hls/playlist/Manifest.as
@@ -20,7 +20,7 @@
     import org.mangui.hls.model.Level;
     import org.mangui.hls.utils.DateUtil;
     import org.mangui.hls.utils.Hex;
-    import org.mangui.hls.utils.StringUtil;
+    import org.mangui.hls.utils.StringUtil;

     CONFIG::LOGGING {
         import org.mangui.hls.utils.Log;
@@ -448,7 +448,7 @@
                         break;
                     case RENDITION_STATE_READSIMPLEVALUE:
                         if (c == ",") {
-                            variables[key] = value;
+                            variables[StringUtil.trim(key)] = value;
                             key = "";
                             value = "";
                             state = RENDITION_STATE_READKEY;
@@ -465,7 +465,7 @@
                         break;
                     case STATE_READQUOTEDVALUE_END:
                         if (c == ",") {
-                            variables[key] = value;
+                            variables[StringUtil.trim(key)] = value;
                             key = "";
                             value = "";
                             state = RENDITION_STATE_READKEY;
@@ -475,7 +475,7 @@
             }

             if (key) {
-                variables[key] = value;
+                variables[StringUtil.trim(key)] = value;
             }

             return variables;


Removed link placed check from Link.place (should 'placed' be a derived attr...?

--- src/Components/Link.as
+++ src/Components/Link.as
@@ -66,9 +66,6 @@
 		}

 		public static function place(link:Link):Boolean {
-			if (link.placed)
-				throw new Error("Attempting to place an already-placed & non-deleted link!");
-
 			if (link.hovering) {
 				link.destination = link.findDestinationPort(link.destination.Loc);
 				if (link.destination) {


Fixed output for octal formatting

Fixed output for octal formatting

--- src/br/com/stimuli/string/printf.as
+++ src/br/com/stimuli/string/printf.as
@@ -120,7 +120,7 @@
 	                }else if (formater == INTEGER_FORMATER){
 	                    match.replacement = padString(int(replacementValue).toString(), paddingNum, paddingChar);
 	                }else if (formater == OCTAL_FORMATER){
-	                    match.replacement = int(replacementValue).toString(8);
+	                    match.replacement = "0" + int(replacementValue).toString(8);
 	                }else if (formater == HEXA_FORMATER){
 	                    match.replacement = "0x" + int(replacementValue).toString(16);
 	                }else if(DATES_FORMATERS.indexOf(formater) > -1){


cleaner code to watch localToWorld/worldToScreen in order to update DrawCall.depth

--- src/aerys/minko/render/DrawCall.as
+++ src/aerys/minko/render/DrawCall.as
@@ -8,6 +8,7 @@
 	import aerys.minko.render.resource.texture.TextureResource;
 	import aerys.minko.render.shader.binding.IBinder;
 	import aerys.minko.scene.node.mesh.geometry.Geometry;
+	import aerys.minko.type.Signal;
 	import aerys.minko.type.data.DataBindings;
 	import aerys.minko.type.enum.Blending;
 	import aerys.minko.type.enum.ColorMask;
@@ -80,8 +81,6 @@
 		private var _depth				: Number							= 0.;
 		private var _invalidDepth		: Boolean							= false;
 		private var _localToWorld		: Matrix4x4							= null;
-		private var _worldToView		: Matrix4x4							= null;
-		private var _projection			: Matrix4x4							= null;
 		private var _worldToScreen		: Matrix4x4							= null;

 		public function get vertexComponents() : Vector.<VertexComponent>
@@ -138,14 +137,11 @@
 			{
 				_invalidDepth = false;

-				if (_localToWorld)
+				if (_localToWorld != null && _worldToScreen != null)
+				{
 					_localToWorld.transformVector(Vector4.ZERO, TMP_VECTOR4);
-
-				if (_worldToScreen == null && _projection != null && _worldToView != null)
-					_worldToScreen = Matrix4x4.multiply(_projection, _worldToView);
-
-				if (_worldToScreen != null)
 					_depth = _worldToScreen.transformVector(TMP_VECTOR4, TMP_VECTOR4).z;
+				}
 			}

 			return _depth;
@@ -154,24 +150,16 @@
 		public function configure(program		: Program3DResource,
 								  geometry		: Geometry,
 								  meshBindings	: DataBindings,
-								  sceneBindings	: DataBindings) : void
+								  sceneBindings	: DataBindings,
+								  computeDepth	: Boolean) : void
 		{
 			if (_bindings != null)
 				unsetBindings(meshBindings, sceneBindings);

-			resetMatrices();
 			setProgram(program);
 			updateGeometry(geometry);
 			setGeometry(geometry);
-			setBindings(meshBindings, sceneBindings);
-		}
-
-		private function resetMatrices() : void
-		{
-			_localToWorld = null;
-			_worldToView = null;
-			_projection = null;
-			_worldToScreen = null;
+			setBindings(meshBindings, sceneBindings, computeDepth);
 		}

 		private function unsetBindings(meshBindings		: DataBindings,
@@ -187,6 +175,15 @@
 					parameterChangedHandler
 				);
 			}
+
+			var worldToScreenSignal	: Signal = sceneBindings.getPropertyChangedSignal('worldToScreen');
+			var localToWorldSignal	: Signal = meshBindings.getPropertyChangedSignal('localToWorld');
+
+			if (worldToScreenSignal.hasCallback(transformChangedHandler))
+				worldToScreenSignal.remove(transformChangedHandler);
+
+			if (worldToScreenSignal.hasCallback(transformChangedHandler))
+				localToWorldSignal.remove(transformChangedHandler);
 		}

 		private function setProgram(program : Program3DResource) : void
@@ -262,7 +259,8 @@
 		 * @fixme it should be done on the compiler also to avoid this ugly hack
 		 */
 		private function setBindings(meshBindings	: DataBindings,
-									 sceneBindings	: DataBindings) : void
+									 sceneBindings	: DataBindings,
+									 computeDepth	: Boolean) : void
 		{
 			for (var parameter : String in _bindings)
 			{
@@ -278,6 +276,17 @@
 					setParameter(parameter, meshBindings.getProperty(parameter));
 				else if (sceneBindings.propertyExists(parameter))
 					setParameter(parameter, sceneBindings.getProperty(parameter));
+			}
+
+			if (computeDepth)
+			{
+				sceneBindings.getPropertyChangedSignal('worldToScreen').add(
+					transformChangedHandler
+				);
+
+				meshBindings.getPropertyChangedSignal('localToWorld').add(
+					transformChangedHandler
+				);
 			}
 		}

@@ -335,27 +344,18 @@
 												 newValue		: Object) : void
 		{
 			newValue && setParameter(property, newValue);
-
-			if (property == 'localToWorld')
-			{
-				_localToWorld = Matrix4x4.copy(newValue as Matrix4x4, _localToWorld);
-				_invalidDepth = true;
-			}
-			else if (property == 'worldToView')
-			{
-				_worldToView = Matrix4x4.copy(newValue as Matrix4x4, _worldToView);
-				_invalidDepth = true;
-			}
-			else if (property == 'projection')
-			{
-				_projection = Matrix4x4.copy(newValue as Matrix4x4, _projection);
-				_invalidDepth = true;
-			}
-			else if (property == 'worldToScreen')
-			{
-				_worldToScreen = Matrix4x4.copy(newValue as Matrix4x4, _worldToScreen);
-				_invalidDepth = true;
-			}
+		}
+
+		private function transformChangedHandler(bindings 	: DataBindings,
+										  property 	: String,
+										  value 	: Matrix4x4) : void
+		{
+			if (property == "worldToScreen")
+				_worldToScreen = value;
+			else if (property == "localToWorld")
+				_localToWorld = value;
+
+			_invalidDepth = true;
 		}

 		public static function sort(drawCalls : Vector.<DrawCall>, numDrawCalls : uint) : void


fixed missing invalidate() at the end of IndexStream::fromByteArray

--- src/aerys/minko/type/stream/IndexStream.as
+++ src/aerys/minko/type/stream/IndexStream.as
@@ -50,6 +50,7 @@
 				indices[i] = data.readInt();

 			stream._data = indices;
+			stream.invalidate();

 			return stream;
 		}
@@ -123,7 +124,7 @@

 			indices ||= new Vector.<uint>();
 			for (var i : int = 0; i < numIndices; ++i)
-				indices[i] = _data[i];
+				indices[i] = _data[i];

 			return indices;
 		}


giving more meaningful names to the intermediate vars in cubic root-of-deriv

--- raw/src/org/yellcorp/lib/splines/CubicBezier.as
+++ raw/src/org/yellcorp/lib/splines/CubicBezier.as
@@ -258,11 +258,11 @@

     public static function solve_dt(a:Number, b:Number, c:Number, d:Number, out:Array):void
     {
-        var divisor:Number = a + 3 * (c - b) - d;
-        var a_2b_c:Number = a - 2 * b + c;
+        var cubicFactor:Number = a + 3 * (c - b) - d;
+        var quadFactor:Number = a - 2 * b + c;
         var radicand:Number;

-        if (divisor != 0)
+        if (cubicFactor != 0)
         {
             // the part under the square root sign. need to check
             // this isn't negative
@@ -271,25 +271,26 @@
             // if it's 0, then the +/- doesn't change the sum, push one root
             if (radicand == 0)
             {
-                out.push(a_2b_c / divisor);
+                out.push(quadFactor / cubicFactor);
             }
             // otherwise push the + and - solution
             else if (radicand > 0)
             {
                 var sqrt:Number = Math.sqrt(radicand);
-                out.push( (a_2b_c + sqrt) / divisor,
-                          (a_2b_c - sqrt) / divisor );
+                out.push( (quadFactor + sqrt) / cubicFactor,
+                          (quadFactor - sqrt) / cubicFactor );
             }
         }
-        else
-        {
-            // if the divisor == 0, then d == a + 3 * (c - b), in which
+        else if (quadFactor != 0)
+        {
+            // if the cubicFactor == 0, then d == a + 3 * (c - b), in which
             // case the solution simplifies to the following:
-            if (a_2b_c != 0)
-            {
-                out.push((a - b) / (2 * a_2b_c));
-            }
-        }
+
+            // note when cubicFactor == 0 this curve can be represented
+            // by a quadratic bezier
+            out.push((a - b) / (2 * quadFactor));
+        }
+        // else this curve represents a uniform line segment
     }

     public static function solve_d2t(a:Number, b:Number, c:Number, d:Number):Number


:fire:

:fire:

--- gb/index.as
+++ gb/index.as
@@ -66,12 +66,9 @@
 }

 def render(frame: *gpu.Frame) {
-  // Render
-  // SDL_SetRenderDrawColor(_renderer, 155, 188, 15, 255);
   SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
   SDL_RenderClear(_renderer);

-  // TODO: Update pixels on framebuffer
   SDL_UpdateTexture(_tex, 0 as *SDL_Rect, frame.Data, int32(frame.Pitch));
   SDL_RenderCopy(_renderer, _tex, 0 as *SDL_Rect, 0 as *SDL_Rect);


Transferred from the Adobe Open Source Subversion Repository

Revision: 16262
Author:   dloverin@adobe.com
Date:     2010-05-20T18:44:39.210129Z

Log Message:
-----------
Move mx components out of framework.swc into mx.swc

The new mx.swc library lives in the libs/mx directory.

QE notes: Of the 5 failures I saw: 1 was intermittent and 4 are not a bug.
Managers/StyleManager/AdvancedCSS/descendantSelectors/AdvancedCSS_descendantSelectors_Style descendantSelector_combining_nested_style
    This failure was intermittent.

mx/effects/Resize/Containers/Resize_Containers Effects_Resize_Containers_ApplicationControlBar_FromTo
mx/effects/Resize/Containers/Resize_Containers Effects_Resize_Containers_ApplicationControlBar_By
mx/effects/Resize/Containers/Resize_Containers Effects_Resize_Containers_ControlBar_FromTo
mx/effects/Resize/Containers/Resize_Containers Effects_Resize_Containers_ControlBar_By
    These failures are due to my code changes but I believe the old behavior was incorrect. When a control bar is the last child in a Panel it should appear at the bottom of the Panel. In the test case an ApplicationControlBar/ContorlBar is added to an empty Panel, making it the last child in the Panel. So it should appear at the bottom of the Panel instead of inside the Panel.

Doc notes: new library, mx.swc
Bugs:
Reviewer: Alex
Tests run:
Is noteworthy for integration: Yes

Modified Paths:
--------------
740 paths were modified

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

--- frameworks/projects/framework/src/mx/states/AddChild.as
+++ frameworks/projects/framework/src/mx/states/AddChild.as
@@ -14,10 +14,6 @@

 import flash.display.DisplayObject;
 import flash.display.DisplayObjectContainer;
-import mx.containers.ApplicationControlBar;
-import mx.containers.ControlBar;
-import mx.containers.Panel;
-import mx.core.Application;
 import mx.core.ContainerCreationPolicy;
 import mx.core.IDeferredInstance;
 import mx.core.mx_internal;
@@ -460,22 +456,6 @@
             default:
             {
                 obj.addChild(target);
-
-                // Hopefully this is a temporary fix for SDK-9478. If the child is a control bar, and
-                // the parent is a Panel, call createComponentsFromDescriptors() so the ControlBar will
-                // be recognized by the Panel.
-                // This should be changed when we get a proper API for adding/removing a ControlBar
-                if (target is ControlBar && obj is Panel)
-                {
-                    Panel(obj).createComponentsFromDescriptors();
-                }
-                else if (target is ApplicationControlBar && ApplicationControlBar(target).dock)
-                {
-                    var applicationClass:Class = Class(ApplicationControlBar(target).systemManager.getDefinitionByName("mx.core::Application"));
-                    if (applicationClass && obj is applicationClass)
-                        ApplicationControlBar(target).resetDock(true);
-                }
-
                 break;
             }
         }
@@ -522,20 +502,7 @@
             case "lastChild":
             default:
             {
-                // Hopefully this is a temporary fix for SDK-9478. If the child is a ControlBar,
-                // it needs to be removed from the rawChildren list.
-                // This should be changed when we get a proper API for adding/removing a ControlBar
-                if (target is ControlBar && obj is Panel)
-                {
-                    Panel(obj).rawChildren.removeChild(target);
-                    Panel(obj).createComponentsFromDescriptors();
-                }
-                else if (target is ApplicationControlBar && ApplicationControlBar(target).dock)
-                {
-                    Application(obj).dockControlBar(ApplicationControlBar(target), false);
-                    Application(obj).removeChild(target);
-                }
-                else if (obj == target.parent)
+                if (obj == target.parent)
                 {
                     obj.removeChild(target);
                 }


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

--- frameworks/projects/framework/src/mx/core/FlexVersion.as
+++ frameworks/projects/framework/src/mx/core/FlexVersion.as
@@ -1,13 +1,3 @@
-////////////////////////////////////////////////////////////////////////////////
-//
-//  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.core
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 8574
Author:   aharui@adobe.com
Date:     2009-07-15T05:33:44.225721Z

Log Message:
-----------
Bugs related to TLF and focus.  Also TLF Marshall Plan adjustments, and some IME fixes

QE Notes: None
Doc Notes: None
Bugs: SDK-21278, SDK-21686, SDK-21375, SDK-18516, SDK-15093, SDK-21335
Reviewer: darrell, carol
tests: checkintests mustella/gumbo mustella/components

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IIMESupport.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.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/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/RichEditableTextContainerManager.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/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.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/framework/src/mx/controls/List.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/controls/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 3124
Author:   gosmith@adobe.com
Date:     2008-09-05T20:27:41.537174Z

Log Message:
-----------
TextGraphicElement now actually implements IStyleClient, rather than just having stubs for it.

In order to avoid duplicating code, TextGraphicElement and UIComponent now call new static methods on StyleProtoChain to implement their initProtoChain(), getClassStyleDeclarations(), setStyle(), and styleChanged() methods.

The CSS mechanism is not yet used to determine the default text format in a TextGraphicElement.as

Reviewer: Glenn
Bugs: -
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/core/Group.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/flex/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProtoChain.as</path>

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

--- frameworks/projects/framework/src/mx/core/UIComponent.as
+++ frameworks/projects/framework/src/mx/core/UIComponent.as
@@ -28,10 +28,8 @@
 import flash.geom.Matrix;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flash.system.ApplicationDomain;
 import flash.text.TextLineMetrics;
 import flash.utils.getQualifiedClassName;
-import flash.utils.getQualifiedSuperclassName;

 import mx.automation.IAutomationObject;
 import mx.binding.BindingManager;
@@ -40,7 +38,6 @@
 import mx.effects.IEffect;
 import mx.effects.IEffectInstance;
 import mx.events.ChildExistenceChangedEvent;
-import mx.events.DragEvent;
 import mx.events.DynamicEvent;
 import mx.events.EffectEvent;
 import mx.events.FlexEvent;
@@ -48,7 +45,6 @@
 import mx.events.PropertyChangeEvent;
 import mx.events.ResizeEvent;
 import mx.events.StateChangeEvent;
-import mx.events.ToolTipEvent;
 import mx.events.ValidationResultEvent;
 import mx.filters.BaseFilter;
 import mx.filters.IBitmapFilter;
@@ -65,7 +61,6 @@
 import mx.managers.SystemManagerGlobals;
 import mx.managers.SystemManagerProxy;
 import mx.managers.ToolTipManager;
-import mx.modules.ModuleManager;
 import mx.resources.IResourceManager;
 import mx.resources.ResourceManager;
 import mx.states.State;
@@ -81,7 +76,6 @@
 import mx.utils.StringUtil;
 import mx.validators.IValidatorListener;
 import mx.validators.ValidationResult;
-import flash.system.Security;

 use namespace mx_internal;

@@ -854,15 +848,11 @@
  *  @see mx.core.UIComponent
  */
 public class UIComponent extends FlexSprite
-       implements IAutomationObject, IChildList,
-                         IDeferredInstantiationUIComponent, IFlexDisplayObject,
-                         IFlexModule,
-                         IInvalidating, ILayoutManagerClient,
-                         IPropertyChangeNotifier, IRepeaterClient,
-                         ISimpleStyleClient, IStyleClient,
-                         IToolTipManagerClient, IUIComponent,
-                         IValidatorListener, IStateClient,
-                         IConstraintClient
+    implements IAutomationObject, IChildList, IConstraintClient,
+    IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule,
+    IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier,
+    IRepeaterClient, IStateClient, IStyleClient, IToolTipManagerClient,
+    IUIComponent, IValidatorListener
 {
     include "../core/Version.as";

@@ -1433,7 +1423,7 @@
     /**
      *  @private
      */
-    private var _owner:DisplayObjectContainer;
+    mx_internal var _owner:DisplayObjectContainer;

     /**
      *  The owner of this UIComponent. By default, it is the parent of this UIComponent.
@@ -5604,40 +5594,7 @@
      */
     public function styleChanged(styleProp:String):void
     {
-
-        // If font changed, then invalidateProperties so
-        // we can re-create the text field in commitProperties
-        if (this is IFontContextComponent && hasFontContextChanged())
-            invalidateProperties();
-
-        // Check to see if this is one of the style properties
-        // that is known to affect layout.
-        if (!styleProp ||
-            styleProp == "styleName" ||
-            StyleManager.isSizeInvalidatingStyle(styleProp))
-        {
-            // This style property change may affect the layout of this
-            // object. Signal the LayoutManager to re-measure the object.
-            invalidateSize();
-        }
-
-        if (!styleProp ||
-            styleProp == "styleName" ||
-            styleProp == "themeColor")
-        {
-            initThemeColor();
-        }
-
-        invalidateDisplayList();
-
-        if (parent is IInvalidating)
-        {
-            if (StyleManager.isParentSizeInvalidatingStyle(styleProp))
-                IInvalidating(parent).invalidateSize();
-
-            if (StyleManager.isParentDisplayListInvalidatingStyle(styleProp))
-                IInvalidating(parent).invalidateDisplayList();
-        }
+        StyleProtoChain.styleChanged(this, styleProp);
     }

     /**
@@ -7442,115 +7399,7 @@
     //  Note that initProtoChain is 99% copied into DataGridItemRenderer
     mx_internal function initProtoChain():void
     {
-        var classSelectors:Array = [];
-
-        if (styleName)
-        {
-            if (styleName is CSSStyleDeclaration)
-            {
-                // Get the style sheet referenced by the styleName property
-                classSelectors.push(CSSStyleDeclaration(styleName));
-            }
-            else if (styleName is IFlexDisplayObject || styleName is IStyleClient)
-            {
-                // If the styleName property is a UIComponent, then there's a
-                // special search path for that case.
-                StyleProtoChain.initProtoChainForUIComponentStyleName(this);
-                return;
-            }
-            else if (styleName is String)
-            {
-                // Get the style sheets referenced by the styleName property
-                var styleNames:Array = styleName.split(/\s+/);
-                for (var c:int=0; c < styleNames.length; c++)
-                {
-                    if (styleNames[c].length) {
-                        classSelectors.push(StyleManager.getStyleDeclaration("." +
-                            styleNames[c]));
-                    }
-                }
-            }
-        }
-
-        // To build the proto chain, we start at the end and work forward.
-        // Referring to the list at the top of this function, we'll start by
-        // getting the tail of the proto chain, which is:
-        //  - for non-inheriting styles, the global style sheet
-        //  - for inheriting styles, my parent's style object
-        var nonInheritChain:Object = StyleManager.stylesRoot;
-
-        if (nonInheritChain && nonInheritChain.effects)
-            registerEffects(nonInheritChain.effects);
-
-        var p:IStyleClient = parent as IStyleClient;
-        if (p)
-        {
-            var inheritChain:Object = p.inheritingStyles;
-            if (inheritChain == StyleProtoChain.STYLE_UNINITIALIZED)
-                inheritChain = nonInheritChain;
-        }
-        else
-        {
-            // Pop ups inheriting chain starts at Application instead of global.
-            // This allows popups to grab styles like themeColor that are
-            // set on Application.
-            if (isPopUp)
-            {
-                if (FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0 &&
-                        _owner && _owner is IStyleClient)
-                    inheritChain = IStyleClient(_owner).inheritingStyles;
-                else
-                    inheritChain = ApplicationGlobals.application.inheritingStyles;
-            }
-            else
-                inheritChain = StyleManager.stylesRoot;
-        }
-
-        // Working backwards up the list, the next element in the
-        // search path is the type selector
-        var typeSelectors:Array = getClassStyleDeclarations();
-        var n:int = typeSelectors.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var typeSelector:CSSStyleDeclaration = typeSelectors[i];
-            inheritChain =
-                typeSelector.addStyleToProtoChain(inheritChain, this);
-
-            nonInheritChain =
-                typeSelector.addStyleToProtoChain(nonInheritChain, this);
-
-            if (typeSelector.effects)
-                registerEffects(typeSelector.effects);
-        }
-
-        // Next are the class selectors
-        for (i = 0; i < classSelectors.length; i++)
-        {
-            var classSelector:CSSStyleDeclaration = classSelectors[i];
-            if (classSelector)
-            {
-                inheritChain =
-                    classSelector.addStyleToProtoChain(inheritChain, this);
-
-                nonInheritChain =
-                    classSelector.addStyleToProtoChain(nonInheritChain, this);
-
-                if (classSelector.effects)
-                    registerEffects(classSelector.effects);
-            }
-        }
-
-        // Finally, we'll add the in-line styles
-        // to the head of the proto chain.
-        inheritingStyles =
-            _styleDeclaration ?
-            _styleDeclaration.addStyleToProtoChain(inheritChain, this) :
-            inheritChain;
-
-        nonInheritingStyles =
-            _styleDeclaration ?
-            _styleDeclaration.addStyleToProtoChain(nonInheritChain, this) :
-            nonInheritChain;
+        StyleProtoChain.initProtoChain(this);
     }

     /**
@@ -7566,92 +7415,8 @@
      */
     public function getClassStyleDeclarations():Array
     {
-        var myApplicationDomain:ApplicationDomain;
-
-        var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(this);
-        if (factory != null)
-        {
-            myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
-        }
-        else
-        {
-            var myRoot:DisplayObject = SystemManager.getSWFRoot(this);
-            if (!myRoot)
-                return [];
-            myApplicationDomain = myRoot.loaderInfo.applicationDomain;
-        }
-
-        var className:String = getQualifiedClassName(this)
-        className = className.replace("::", ".");
-        var cache:Array;
-        cache = StyleManager.typeSelectorCache[className];
-        if (cache)
-            return cache;
-
-        // trace("getClassStyleDeclaration", className);
-        var decls:Array = [];
-        var classNames:Array = [];
-        var caches:Array = [];
-        var declcache:Array = [];
-
-        while (className != null &&
-               className != "mx.core.UIComponent" &&
-               className != "mx.core.UITextField")
-        {
-            var s:CSSStyleDeclaration;
-            cache = StyleManager.typeSelectorCache[className];
-            if (cache)
-            {
-                decls = decls.concat(cache);
-                break;
-            }
-
-            s = StyleManager.getStyleDeclaration(className);
-
-            if (s)
-            {
-                decls.unshift(s);
-                // we found one so the next set define the selectors for this
-                // found class and its ancestors.  Save the old list and start
-                // a new list
-                classNames.push(className);
-                caches.push(classNames);
-                declcache.push(decls);
-                decls = [];
-                classNames = [];
-                // trace("   ", className);
-                // break;
-            }
-            else
-                classNames.push(className);
-
-            try
-            {
-                className = getQualifiedSuperclassName(myApplicationDomain.getDefinition(className));
-                className = className.replace("::", ".");
-            }
-            catch(e:ReferenceError)
-            {
-                className = null;
-            }
-        }
-
-        caches.push(classNames);
-        declcache.push(decls);
-        decls = [];
-        while (caches.length)
-        {
-            classNames = caches.pop();
-            decls = decls.concat(declcache.pop());
-            while (classNames.length)
-            {
-                StyleManager.typeSelectorCache[classNames.pop()] = decls;
-            }
-        }
-
-        return decls;
-    }
-
+        return StyleProtoChain.getClassStyleDeclarations(this);
+    }

     /**
      *  Builds or rebuilds the CSS style cache for this component
@@ -7776,54 +7541,7 @@
      */
     public function setStyle(styleProp:String, newValue:*):void
     {
-        if (styleProp == "styleName")
-        {
-            // Let the setter handle this one, see UIComponent.
-            styleName = newValue;
-
-            // Short circuit, because styleName isn't really a style.
-            return;
-        }
-
-        if (EffectManager.getEventForEffectTrigger(styleProp) != "")
-            EffectManager.setStyle(styleProp,this);
-
-        /*
-        if (StyleManager.isEffectStyle(styleProp))
-            EffectManager.setStyle(styleProp,this);
-        */
-
-        // If this UIComponent didn't previously have any inline styles,
-        // then regenerate the UIComponent's proto chain (and the proto chains
-        // of this UIComponent's descendants).
-        var isInheritingStyle:Boolean =
-            StyleManager.isInheritingStyle(styleProp);
-        var isProtoChainInitialized:Boolean =
-            inheritingStyles != StyleProtoChain.STYLE_UNINITIALIZED;
-        var valueChanged:Boolean = getStyle(styleProp) != newValue;
-
-        if (!_styleDeclaration)
-        {
-            _styleDeclaration = new CSSStyleDeclaration();
-
-            _styleDeclaration.mx_internal::setStyle(styleProp, newValue);
-
-            // If inheritingStyles is undefined, then this object is being
-            // initialized and we haven't yet generated the proto chain.  To
-            // avoid redundant work, don't bother to create the proto chain here.
-            if (isProtoChainInitialized)
-                regenerateStyleCache(isInheritingStyle);
-        }
-        else
-        {
-            _styleDeclaration.mx_internal::setStyle(styleProp, newValue);
-        }
-
-        if (isProtoChainInitialized && valueChanged)
-        {
-            styleChanged(styleProp);
-            notifyStyleChangeInChildren(styleProp, isInheritingStyle);
-        }
+        StyleProtoChain.setStyle(this, styleProp, newValue);
     }

     /**


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

--- frameworks/projects/mx/src/mx/containers/BoxDirection.as
+++ frameworks/projects/mx/src/mx/containers/BoxDirection.as
@@ -0,0 +1,42 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2006 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.containers
+{
+
+/**
+ *  The BoxDirection class specifies constant values
+ *  for the direction property of the Box container.
+ *
+ *  @see mx.containers.Box
+ */
+public final class BoxDirection
+{
+	include "../core/Version.as";
+
+	//--------------------------------------------------------------------------
+	//
+	//  Class constants
+	//
+	//--------------------------------------------------------------------------
+
+	/**
+	 *  Specifies that children of the Box container are laid out horizontally.
+	 */
+	public static const HORIZONTAL:String = "horizontal";
+
+	/**
+	 *  Specifies that children of the Box container are laid out vertically.
+	 */
+	public static const VERTICAL:String = "vertical";
+}
+
+}


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

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


fixed bbox

fixed bbox

--- src/Displays/DLink.as
+++ src/Displays/DLink.as
@@ -112,9 +112,6 @@
 			var x:int, y:int;
 			//the following is awful

-			if (start.y == end.y)
-				C.log("???");
-
 			if (primaryHorizontal) {
 				hSeg.y = start.y;
 				for (x = start.x; x < midpoint.x; x += U.GRID_DIM) {
@@ -171,8 +168,9 @@
 		public function get boundingBox():Rectangle {
 			var sourceLoc:Point = link.source.Loc;
 			var destLoc:Point = link.destination.Loc;
-			return new Rectangle(Math.min(sourceLoc.x, destLoc.x), Math.min(sourceLoc.y, destLoc.y),
-								 Math.abs(sourceLoc.x - destLoc.x), Math.abs(sourceLoc.y - destLoc.y)); //TODO: cache?
+			var width:int = getWidth();
+			return new Rectangle(Math.min(sourceLoc.x, destLoc.x) - width, Math.min(sourceLoc.y, destLoc.y) - width,
+								 Math.abs(sourceLoc.x - destLoc.x) + width * 2, Math.abs(sourceLoc.y - destLoc.y) + width * 2); //TODO: cache?
 		}

 		override public function overlapsPoint(p:FlxPoint, _:Boolean=false, __:FlxCamera=null):Boolean {


Removed explicit vertices count argument from rcCalcBounds method.

--- as3_lib/src/recastnavigation/recast/RCConfig.as
+++ as3_lib/src/recastnavigation/recast/RCConfig.as
@@ -149,9 +149,10 @@
 		/**
 		 * Calculates the bounding box of an array of vertices.
 		 */
-		public function rcCalcBounds(verts:Vector.<Number>, nv:int):void {
+		public function rcCalcBounds(verts:Vector.<Number>):void {

 			var verts_ptr:int = mallocNumberVector(verts);
+			var nv:int = verts.length / 3;
 			internal_rcCalcBounds(verts_ptr, nv, ptr + OFFSET_WIDTH, ptr + OFFSET_HEIGHT);
 			CModule.free(verts_ptr);


340 the most trivial update

340 the most trivial update

--- raw/src/org/yellcorp/lib/core/StringUtil.as
+++ raw/src/org/yellcorp/lib/core/StringUtil.as
@@ -30,8 +30,7 @@
         var result:String = "";
         if (times > 0)
         {
-            do
-            {
+            do {
                 if (times & 1) result += str;
             } while ((times >>= 1) && (str += str));
         }


Move puzzle skip logic from the lost phase to the encounter phase (after we have lost or the monster is dead there is no reason to skip anything).


Removed unecessary print.

Removed unecessary print.


Added functionality for LaunchBrowser and LaunchEmail for Flash

--HG--
extra : convert_revision : svn%3Ae934d3cd-0d57-f34a-94d0-9e8d31ae1c29/trunk%40187


Delete Animation::stepReverse method

Delete Animation::stepReverse method

--- src/aerys/minko/type/animation/Animation.as
+++ src/aerys/minko/type/animation/Animation.as
@@ -39,17 +39,20 @@
 			transformNodes(time);
 		}

-		public function step(deltaTime : uint = 80) : void
+		public function step(deltaTime : int = 80) : void
 		{
-			var time : uint = (_lastTime + deltaTime) % _duration;
-			transformNodes(time);
-		}
-
-		public function stepReverse(deltaTime : uint = 80) : void
-		{
-			var time : int = (_lastTime - deltaTime) % _duration;
-			if (time < 0)
-				time = time + _duration;
+			var time : int;
+
+			if (deltaTime > 0)
+			{
+				time = (_lastTime + deltaTime) % _duration;
+			}
+			else
+			{
+				time = (_lastTime + deltaTime) % _duration;
+				if (time < 0)
+					time = time + _duration;
+			}

 			transformNodes(time);
 		}
@@ -88,6 +91,5 @@
 		{
 			_playingOn = null;
 		}
-
 	}
 }


fix 'last()' xpath special function 'out of bounds' exception when the selection set is empty

--- src/aerys/minko/scene/SceneIterator.as
+++ src/aerys/minko/scene/SceneIterator.as
@@ -335,8 +335,11 @@
 			checkNextToken('(');
 			checkNextToken(')');

-			_selection[0] = _selection[uint(_selection.length - 1)];
-			_selection.length = 1;
+			if (_selection.length)
+			{
+				_selection[0] = _selection[uint(_selection.length - 1)];
+				_selection.length = 1;
+			}
 		}

 		private function filterFirst() : void