Transferred from the Adobe Open Source Subversion Repository

Revision: 19722
Author:   egeorgie@adobe.com
Date:     2011-01-12T00:53:24.336848Z

Log Message:
-----------
Fix popups/tooltips and scaling bugs:
Slider tooltip renders far above under 2.0 scaling - http://bugs.adobe.com/jira/browse/SDK-28833
Mobile HSliderSkin dataTip sometimes stops following the thumb all the way to the right edge - http://bugs.adobe.com/jira/browse/SDK-28762
When the app is scaled, DropDownList shows the list at wrong place - http://bugs.adobe.com/jira/browse/SDK-28818

In this change:
- update popup/tooltip positioning code to work with scaling.

QE notes:  make another test pass on tooltips/pop-ups
Doc notes:
Bugs: SDK-28833, SDK-28762, SDK-28818
Reviewer: Alex
Tests run: full mustella cyclone
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VSlider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/BitmapUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/DataGridEditor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HSlider.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/PopUpUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/PopUpAnchor.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/MatrixUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/gridClasses/GridItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mx/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as</path>

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

--- frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
+++ frameworks/projects/spark/src/mx/controls/dataGridClasses/FTEDataGridItemRenderer.as
@@ -15,9 +15,10 @@
 import flash.display.DisplayObject;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flash.utils.getQualifiedSuperclassName;
 import flash.utils.getDefinitionByName;
 import flash.utils.getQualifiedClassName;
+import flash.utils.getQualifiedSuperclassName;
+
 import mx.controls.DataGrid;
 import mx.controls.listClasses.BaseListData;
 import mx.controls.listClasses.IDropInListItemRenderer;
@@ -38,6 +39,7 @@
 import mx.styles.IStyleClient;
 import mx.styles.StyleManager;
 import mx.styles.StyleProtoChain;
+import mx.utils.PopUpUtil;

 use namespace mx_internal;

@@ -729,25 +731,16 @@
     protected function toolTipShowHandler(event:ToolTipEvent):void
     {
         var toolTip:IToolTip = event.toolTip;
-
-        // Calculate global position of label.
-        var sm:ISystemManager = systemManager.topLevelSystemManager;
-        var sbRoot:DisplayObject = sm.getSandboxRoot();
-        var screen:Rectangle;
-        var pt:Point = new Point(0, 0);
-        pt = localToGlobal(pt);
-        pt = sbRoot.globalToLocal(pt);

-        toolTip.move(pt.x, pt.y + (height - toolTip.height) / 2);
-
-        screen = sm.getVisibleApplicationRect(null, true);
-
-        var screenRight:Number = screen.x + screen.width;
-        pt.x = toolTip.x;
-        pt.y = toolTip.y;
-        pt = sbRoot.localToGlobal(pt);
-        if (pt.x + toolTip.width > screenRight)
-            toolTip.move(toolTip.x - (pt.x + toolTip.width - screenRight), toolTip.y);
+        // We need to position the tooltip at same x coordinate,
+        // center vertically and make sure it doesn't overlap the screen.
+        // Call the helper function to handle this for us.
+        var pt:Point = PopUpUtil.positionOverComponent(this,
+                                                       systemManager,
+                                                       toolTip.width,
+                                                       toolTip.height,
+                                                       height / 2);
+        toolTip.move(pt.x, pt.y);
     }
 }


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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


Mediator dispatch() helper is now protected (instead of public)

--- src/org/robotlegs/nometa/Mediator.as
+++ src/org/robotlegs/nometa/Mediator.as
@@ -44,16 +44,6 @@
 		}

 		/**
-		 * Dispatch helper method
-		 *
-		 * @param event The Event to dispatch on the IContext's IEventDispatcher
-		 */
-		public function dispatch(event:Event):void
-		{
-			eventDispatcher.dispatchEvent(event);
-		}
-
-		/**
 		 * @inheritDoc
 		 */
 		override public function preRemove():void
@@ -61,6 +51,16 @@
 			eventMap.unmapListeners();
 			super.preRemove();
 		}
+
+		/**
+		 * Dispatch helper method
+		 *
+		 * @param event The Event to dispatch on the IContext's IEventDispatcher
+		 */
+		protected function dispatch(event:Event):void
+		{
+			eventDispatcher.dispatchEvent(event);
+		}

 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 2814
Author:   jimurphy@adobe.com
Date:     2008-08-12T13:49:02.219041Z

Log Message:
-----------
Merged 3.0.x revs [2798,2804,2811] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager2.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>

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

--- frameworks/projects/mx/src/mx/containers/Panel.as
+++ frameworks/projects/mx/src/mx/containers/Panel.as
@@ -488,7 +488,7 @@
      *  @private
      */
     private var autoSetRoundedCorners:Boolean;
-
+
     //--------------------------------------------------------------------------
     //
     //  Overridden properties
@@ -1781,8 +1781,8 @@
         ISystemManager2(systemManager).getSandboxRoot().addEventListener(
             MarshalMouseEvent.MOUSE_UP, stage_mouseLeaveHandler);

-		// let folks know we've started to drag.
-        dispatchEvent(new Event("startDragging", true));
+        // add the mouse shield so we can drag over untrusted applications.
+        ISystemManager2(systemManager).deployMouseShields(true);
     }

     /**
@@ -1802,7 +1802,8 @@

         regX = NaN;
         regY = NaN;
-        dispatchEvent(new Event("stopDragging", true));
+
+        ISystemManager2(systemManager).deployMouseShields(false);
     }

     /**
@@ -1890,6 +1891,8 @@
     		// trace("all the mouse moves were not turned off");
     		return;
     	}
+
+    	// trace("systemManager_mouseMoveHandler " + event);
         move(event.stageX - regX, event.stageY - regY);
     }

@@ -1898,6 +1901,7 @@
      */
     private function systemManager_mouseUpHandler(event:MouseEvent):void
     {
+        // trace("systemManager_mouseUpHandler: " + event);
         if (!isNaN(regX))
             stopDragging();
     }
@@ -1907,6 +1911,7 @@
      */
     private function stage_mouseLeaveHandler(event:Event):void
     {
+        // trace("stage_mouseLeaveHandler: " + event);
         if (!isNaN(regX))
             stopDragging();
     }


FLEX-34375 FormItem resizing.  Accept patch from Joao Fernandes


FLEX-34885 Adding more checks to make sure that when generic PropertyChangeEvents are dispatched, the objects that dispatch them are not moved to another location in the ListCollectionView.

--- frameworks/projects/framework/tests/mx/collections/ListCollectionView_PropertyChangeEvent_Tests.as
+++ frameworks/projects/framework/tests/mx/collections/ListCollectionView_PropertyChangeEvent_Tests.as
@@ -101,6 +101,7 @@
             //given
             _sut.filterFunction = allowAll;
             _sut.refresh();
+            const positionOfFirstWorkout:int = _sut.getItemIndex(_firstWorkout);

             _noTimesFilterFunctionCalled = 0;
             _lastFilteredObject = null;
@@ -111,6 +112,7 @@
             //then - no fatal, and object has been filtered
             assertEquals(1, _noTimesFilterFunctionCalled);
             assertEquals(_firstWorkout, _lastFilteredObject);
+            assertEquals(positionOfFirstWorkout, _sut.getItemIndex(_firstWorkout));
         }

         [Test]
@@ -121,6 +123,7 @@
             _sut.filterFunction = allowAll;
             _sut.refresh();
             var positionOfNull:int = _sut.getItemIndex(null);
+            const positionOfFirstWorkout:int = _sut.getItemIndex(_firstWorkout);

             //when
             _firstWorkout.dispatchEvent(PROPERTY_CHANGE_EVENT);
@@ -128,6 +131,7 @@
             //then
             assertTrue(positionOfNull != -1);
             assertEquals(-1, _sut.getItemIndex(null));
+            assertEquals(positionOfFirstWorkout, _sut.getItemIndex(_firstWorkout));
         }

         [Test]
@@ -138,6 +142,7 @@
             _sut.filterFunction = allowAll;
             _sut.refresh();
             var positionOfNull:int = _sut.getItemIndex(null);
+            const positionOfFirstWorkout:int = _sut.getItemIndex(_firstWorkout);

             //when
             _firstWorkout.dispatchEvent(PROPERTY_CHANGE_EVENT_UPDATE);
@@ -145,6 +150,7 @@
             //then
             assertTrue(positionOfNull != -1);
             assertEquals(-1, _sut.getItemIndex(null));
+            assertEquals(positionOfFirstWorkout, _sut.getItemIndex(_firstWorkout));
         }

         [Test]


修复拼写错误

修复拼写错误

--- as3/com/netease/protobuf/Extension.as
+++ as3/com/netease/protobuf/Extension.as
@@ -10,7 +10,7 @@
 package com.netease.protobuf {
 	import flash.utils.*
 	public final class Extension {
-		public static function repeaedReadFunction(f:Function):Function {
+		public static function repeatedReadFunction(f:Function):Function {
 			return function (input:IDataInput,
 					object:Array, fieldNumber:uint):void {
 				var a:Array = object[fieldNumber]
@@ -27,7 +27,7 @@
 				object[fieldNumber] = f(input)
 			}
 		}
-		public static function repeatedMessageReadFuction(c:Class):Function {
+		public static function repeatedMessageReadFunction(c:Class):Function {
 			return function (input:IDataInput,
 					object:Array, fieldNumber:uint):void {
 				var a:Array = object[fieldNumber]


Fixing RE to dig in stack trace. When package was present, only worked on non-method functions.

--- driver/src/main/flex/org/postgresql/log/AbstractLogTarget.as
+++ driver/src/main/flex/org/postgresql/log/AbstractLogTarget.as
@@ -27,6 +27,7 @@

  		public function AbstractLogTarget() {
 			format = '%d %t [%l]: %c - %m (%n): %s';
+			// TODO: replace with non-Flex utility classes
  			_dateFormatter = new DateFormatter();
  			_dateFormatter.formatString = 'YYYY-MM-DD';

@@ -80,8 +81,11 @@
 						// 4. line no
 						// For now, we ignore the captured class and just use the category, although
 						// that may change in the future (e.g., regarding non-Class-related functions)
+						//
+						// Note that 'global/' is a prefix for non-method functions (e.g., assert). In these
+						// cases, the package name still follows.
 						var match:Array = String(stackElements[methodIndex]).match(new RegExp(
-							'\\s+at ((?:global/)' + symbolName + '(?:\\.' + symbolName + ')*::)?(?:(' + symbolName +
+							'\\s+at ((?:global/)?' + symbolName + '(?:\\.' + symbolName + ')*::)?(?:(' + symbolName +
 							')/)?(' + symbolName + '|<anonymous>)\\(\\)\\[.*:(\\d+)\\]'
 						));
 						if (match) {


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 4849
Author:   jimurphy@adobe.com
Date:     2009-02-05T15:00:22.254099Z

Log Message:
-----------
Merged 3.x revisions 4842,4847 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/AbstractOperation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/xml/XMLDecoder.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.x/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as" copyfrom-rev="4847" action="A">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/http/mxml/HTTPMultiService.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/messaging/MessageAgent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as
+++ frameworks/projects/rpc/src/mx/messaging/AbstractProducer.as
@@ -177,7 +177,7 @@
             dispatchEvent(event);
         }
     }
-
+
     //----------------------------------
     //  priority
     //----------------------------------


Transferred from the Adobe Open Source Subversion Repository

Revision: 8487
Author:   smgilson@adobe.com
Date:     2009-07-09T18:57:21.985536Z

Log Message:
-----------
final checkin to update the namespace in ASDoc MXML syntax descriptions for Spark components

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/MotionPath.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ColorMatrixFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Power.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ShaderFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/CallAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientBevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Animate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransitionShader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Scale.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Graphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Rotate.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/BasicLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Resize.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform3D.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Wipe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Sine.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Move.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/Linear.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientGlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/SetAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/RemoveAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateFilter.as
+++ frameworks/projects/spark/src/spark/effects/AnimateFilter.as
@@ -39,7 +39,7 @@
  *
  *  @mxml
  *
- *
The <mx:AnimateFilter> tag
+ *
The <s:AnimateFilter> tag
  *  inherits all of the tag attributes of its superclass,
  *  and adds the following tag attributes:

  *


Transferred from the Adobe Open Source Subversion Repository

Revision: 7445
Author:   gruehle@adobe.com
Date:     2009-05-29T20:51:55.035384Z

Log Message:
-----------
Replace a bunch of event name literals with constants.

Bug: SDK-21271
QA Notes:
Doc Notes:
Reviewer: Chet

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/FocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/effects/effectClasses/SoundEffectInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/skins/default/ErrorSkin.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/ErrorSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/ErrorSkin.as
@@ -25,6 +25,7 @@
 import spark.components.supportClasses.SkinnableComponent;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
+import mx.events.FlexEvent;

 /**
  *  The ErrorSkin class defines the error skin for Spark components.
@@ -127,7 +128,7 @@
         // Add an "updateComplete" listener to the skin so we can redraw
         // whenever the skin is drawn.
         if (_errorObject.skin)
-            _errorObject.skin.addEventListener("updateComplete",
+            _errorObject.skin.addEventListener(FlexEvent.UPDATE_COMPLETE,
                     skin_updateCompleteHandler, false, 0, true);
     }


Navigating to Dead world on death

Navigating to Dead world on death

--- src/heartattacks/doodads/player/DyingState.as
+++ src/heartattacks/doodads/player/DyingState.as
@@ -1,9 +1,11 @@
 package heartattacks.doodads.player
 {
 	import heartattacks.doodads.states.IState;
+	import heartattacks.states.Dead;
 	import net.flashpunk.graphics.Spritemap;
 	import com.greensock.TweenLite;
 	import heartattacks.doodads.Music;
+	import net.flashpunk.FP;
 	/**
 	 * ...
 	 * @author The Heart Attacks
@@ -20,8 +22,13 @@
 		public function onEnter(spritemap:Spritemap):void
 		{
 			spritemap.play("dying");
-			TweenLite.to(spritemap, 1, { alpha: 0, delay: 1 } );
+			TweenLite.to(spritemap, 1, { alpha: 0, delay: 1, onComplete: this.ExitGame } );
 			Music.explosion.play();
+		}
+
+		private function ExitGame():void
+		{
+			FP.world = new Dead();
 		}

 		public function update(spritemap:Spritemap):void


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

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

 package mx.charts
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 17522
Author:   jasonsj@adobe.com
Date:     2010-08-30T21:32:50.069066Z

Log Message:
-----------
ProgressBar, ToolTip and ButtonBarButton are discouraged for mobile.

QE notes:
Doc notes:
Bugs:
FBG-1722 codehints: <mx:ProgressBar> <mx:ToolTip><s:ToolTip> need to be discouraged for mobile
FBG-1723 codehints: <s:ButtonBarButton> need to be discouraged since <s:ButtonBar> is discouraged for mobile
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/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/ButtonBarButton.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ProgressBar.as
+++ frameworks/projects/mx/src/mx/controls/ProgressBar.as
@@ -255,6 +255,14 @@
 [IconFile("ProgressBar.png")]

 [ResourceBundle("controls")]
+
+/**
+ * Because this component does not define a skin for the mobile theme, Adobe
+ * recommends that you not use it in a mobile application. Alternatively, you
+ * can define your own mobile skin for the component. For more information,
+ * see Spark Skinning.
+ */
+[DiscouragedForProfile("mobileDevice")]

 /**
  *  The ProgressBar control provides a visual representation of the progress of a task over


remove useless imports

remove useless imports

--- src/aerys/minko/render/material/phong/PhongShader.as
+++ src/aerys/minko/render/material/phong/PhongShader.as
@@ -2,7 +2,6 @@
 {
 	import aerys.minko.render.RenderTarget;
 	import aerys.minko.render.material.basic.BasicShader;
-	import aerys.minko.render.resource.texture.ITextureResource;
 	import aerys.minko.render.shader.SFloat;
 	import aerys.minko.render.shader.part.phong.LightAwareDiffuseShaderPart;
 	import aerys.minko.render.shader.part.phong.PhongShaderPart;


added the Geometry.dispose() method

added the Geometry.dispose() method

--- src/aerys/minko/scene/node/mesh/geometry/Geometry.as
+++ src/aerys/minko/scene/node/mesh/geometry/Geometry.as
@@ -199,6 +199,18 @@
 			updateBoundingVolumes();
 		}

+		public function dispose() : void
+		{
+			var numStreams : uint = numStreams;
+
+			for (var streamId : uint = 0; streamId < numStreams; ++streamId)
+				_vertexStreams[streamId].dispose();
+			_vertexStreams.length = 0;
+
+			_indexStream.dispose();
+			_indexStream = null;
+		}
+
 		/**
 		 * Get the IVertexStream object at the specified index.
 		 *


Asdocs updates

Asdocs updates

--- src/com/zehfernando/input/binding/KeyActionBinder.as
+++ src/com/zehfernando/input/binding/KeyActionBinder.as
@@ -805,6 +805,9 @@
 		 * }
 		 *
 		 * // Check if a jump was activated (includes just before falling, for a more user-friendly control):
+		 * // Setup:
+		 * myBinder.addGamepadActionBinding("jump", GamepadControls.ACTION_DOWN);
+		 * // In the game loop:
 		 * if (isTouchingSurface && myBinder.isActionActivated("jump"), 0.1) {
 		 *     player.performJump();
 		 * }
@@ -812,8 +815,8 @@
 		 *
 		 * @see GamepadControls
 		 * @see #addGamepadActionBinding()
+		 * @see #getActionValue()
 		 * @see http://zehfernando.com/2013/keyactionbinder-updates-time-sensitive-activations-new-constants/
-		 * @see #getActionValue()
 		 */
 		public function isActionActivated(__action:String, __timeToleranceSeconds:Number = 0, __gamepadIndex:int = -1):Boolean {
 			return actionsActivations.hasOwnProperty(__action) && (actionsActivations[__action] as ActivationInfo).getNumActivations(__timeToleranceSeconds, __gamepadIndex) > 0;
@@ -866,25 +869,28 @@
 		}

 		/**
-		 * Toggles whether KeyActionBinder tries to maintain the player positions based on unique device ids.
-		 *
-		 *
When this is set to false, the list of connected devices (via getNumDevices() and others) will
-		 * always reflect Flash's list of GameInput devices. This means that the connected gamepad devices can get
-		 * shuffled around when a device is added or removed, and potentially cause players to have their gamepads
-		 * swapped.

-		 *
-		 *
When this is true, the class uses device ids to try and maintain a consistent list of devices, without
-		 * shuffling them around. This has several implications, both positive and negative:

-		 *
-		 *
* A removed device will continue to exist in the list (as a null device), unless it's the last device listed

-		 *
* An added will try to be re-added to its previously existing position, if one can be found

-		 *
* If a previously existing position cannot be found, the device takes the first available position (first
-		 * null position, or at the end of the list if none is found)

-		 *
-		 *
In general, you should set this option before gameplay starts.

-		 *
-		 *
If you set this to false after it was set to true, it will cause a gamepad refresh, potentially shuffling
-		 * player positions around if a null device is currently listed.

+		 * Toggles whether KeyActionBinder tries to maintain each player's gamepad index based on the unique id of each
+		 * device.
+		 *
+		 *
When this is set to false, the list of connected devices (via getNumDevices()
+		 * and others) will always reflect Flash's list of connected GameInputDevices. This means that the connected
+		 * gamepads can be shuffled around when a device is added or removed, potentially causing players on a
+		 * multi-player game to have their respective gamepad references swapped.

+		 *
+		 *
When this is set to true, KeyActionBinder uses the device ids to keep a more consistent list
+		 * of devices, avoiding shuffling them around. This has several implications:

+		 *
+		 *
 * When removed, a device will continue to exist in the list as a null device (unless it's
+		 * the last device in the GameInputDevice list, in which case it gets removed entirely)

+		 *
 * An added device will try to be re-added to its previously existing position, if one can be found (that
+		 * is, if it was present before and then removed)

+		 *
 * If a previously existing position cannot be found for a new device, the device takes the first available
+		 * (null) position if one can be found, or is added to the end of the list of devices otherwise

+		 *
+		 *
In general, you should set the value of this property before gameplay starts.

+		 *
+		 *
If you set this to false after it was set to true, it will cause a refresh of
+		 * the gamepad order, potentially shuffling player positions around if devices were added or removed previously.

 		 *
 		 *
The default is false.

 		 *
@@ -936,10 +942,6 @@
 			return _isRunning;
 		}

-		public function get alwaysPreventDefault():Boolean {
-			return _alwaysPreventDefault;
-		}
-
 		/**
 		 * Whether to run preventDefault() on Keyboard events or not.
 		 *
@@ -950,6 +952,9 @@
 		 *
 		 *
The default is true.

 		 */
+		public function get alwaysPreventDefault():Boolean {
+			return _alwaysPreventDefault;
+		}
 		public function set alwaysPreventDefault(__value:Boolean):void {
 			// TODO: this is a dumb getter/setter just for ASDocs reasons
 			_alwaysPreventDefault = __value;


Created parseInteger() as a replacement for the built-in parseInt(),
which parses a String like " 7pigs" as the value 7.

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

--- src/as/com/threerings/util/StringUtil.as
+++ src/as/com/threerings/util/StringUtil.as
@@ -84,6 +84,60 @@
         var firstChar :String = str.charAt(0);
         return (firstChar.toUpperCase() == firstChar) &&
             (firstChar.toLowerCase() != firstChar);
+    }
+
+    /**
+     * Parse an integer more anally than the built-in parseInt() function,
+     * throwing an ArgumentError if there are any invalid characters.
+     *
+     * The built-in parseInt() will ignore trailing non-integer characters.
+     *
+     * @param str The string to parse.
+     * @param radix The radix to use, from 2 to 16. If not specified the radix will be 10,
+     *        unless the String begins with "0x" in which case it will be 16,
+     *        or the String begins with "0" in which case it will be 8.
+     */
+    public static function parseInteger (str :String, radix :uint = 0) :int
+    {
+        if (str == null) {
+            throw new ArgumentError("Cannot parseInt(null)");
+        }
+
+        if (radix == 0) {
+            if (startsWith(str, "0x")) {
+                str = str.substring(2);
+                radix = 16;
+
+            } else if (startsWith(str, "0")) {
+                str = str.substring(1);
+                radix = 8;
+
+            } else {
+                radix = 10;
+            }
+
+        } else if (radix == 16 && startsWith(str, "0x")) {
+            str = str.substring(2);
+
+        } else if (radix < 2 || radix > 16) {
+            throw new ArgumentError("Radix out of range: " + radix);
+        }
+
+        // now verify that str only contains valid chars for the radix
+        for (var ii :int = 0; ii < str.length; ii++) {
+            var dex :int = HEX.indexOf(str.charAt(ii).toLowerCase());
+            if (dex == -1 || dex >= radix) {
+                throw new ArgumentError("Invalid characters in String parseInt='" + arguments[0] +
+                    "', radix=" + radix);
+            }
+        }
+
+        var result :Number = parseInt(str, radix);
+        if (isNaN(result)) {
+            // this shouldn't happen..
+            throw new ArgumentError("Could not parseInt=" + arguments[0]);
+        }
+        return int(result);
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3498
Author:   gosmith@adobe.com
Date:     2008-10-06T22:45:01.512196Z

Log Message:
-----------
Fixed a problem in TextGraphic and TextView where you got an empty paragraph before the paragraph(s) you specified for the content in MXML.

Reviewer: Deepa
Bug: SDK-16737
QA: No
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/component/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/flex/graphics/TextGraphic.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -253,12 +253,12 @@
                 }
                 else if (content is Array)
                 {
-                    textFlow = createEmptyTextFlow();
+                    textFlow = new TextFlow();
                     textFlow.mxmlChildren = content as Array;
                 }
                 else if (content is FlowElement)
                 {
-                    textFlow = createEmptyTextFlow();
+                    textFlow = new TextFlow();
                     textFlow.mxmlChildren = [ content ];
                 }
 			    else if (content is String)


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

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

 package spark.components


implement Comparable.

implement Comparable.

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

--- src/as/com/threerings/util/Name.as
+++ src/as/com/threerings/util/Name.as
@@ -7,7 +7,7 @@
 import com.threerings.io.Streamable;

 public class Name extends Object
-    implements Hashable, Streamable
+    implements Comparable, Hashable, Streamable
 {
     public function Name (name :String = "")
     {
@@ -37,14 +37,14 @@
         return _name;
     }

-    // documentation inherited from interface Hashable
+    // from interface Hashable
     public function equals (other :Object) :Boolean
     {
         return (other is Name) &&
             (getNormal() === (other as Name).getNormal());
     }

-    // documentation inherited from interface Hashable
+    // from interface Hashable
     public function hashCode () :int
     {
         var norm :String = getNormal();
@@ -55,14 +55,30 @@
         return hash;
     }

-    // documentation inherited from interface Streamable
+    // from interface Comparable
+    public function compareTo (other :Object) :int
+    {
+        var thisNormal :String = getNormal();
+        var thatNormal :String = (other as Name).getNormal();
+        if (thisNormal == thatNormal) {
+            return 0;
+
+        } if (thisNormal < thatNormal) {
+            return -1;
+
+        }  else {
+            return 1;
+        }
+    }
+
+    // from interface Streamable
     public function writeObject (out :ObjectOutputStream) :void
         //throws IOError
     {
         out.writeField(_name);
     }

-    // documentation inherited from interface Streamable
+    // from interface Streamable
     public function readObject (ins :ObjectInputStream) :void
         //throws IOError
     {


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

--- frameworks/projects/framework/src/mx/effects/Effect.as
+++ frameworks/projects/framework/src/mx/effects/Effect.as
@@ -34,6 +34,11 @@
  *  been interrupted by a call to the end() method.
  *
  *  @eventType mx.events.EffectEvent.EFFECT_END
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="effectEnd", type="mx.events.EffectEvent")]

@@ -47,6 +52,11 @@
  *  end state.
  *
  *  @eventType mx.events.EffectEvent.EFFECT_STOP
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="effectStop", type="mx.events.EffectEvent")]

@@ -54,6 +64,11 @@
  *  Dispatched when the effect starts playing.
  *
  *  @eventType mx.events.EffectEvent.EFFECT_START
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="effectStart", type="mx.events.EffectEvent")]

@@ -98,6 +113,11 @@
  *  @see mx.effects.EffectInstance
  *
  *  @includeExample examples/SimpleEffectExample.mxml
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class Effect extends EventDispatcher implements IEffect
 {
@@ -184,6 +204,11 @@
      *

      *
      *  @param target The Object to animate with this effect.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function Effect(target:Object = null)
     {
@@ -215,6 +240,11 @@
      * state, as opposed to leaving values as set by the effect itself.
      *
      * @default true
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var applyTransitionEndProperties:Boolean =
         (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0) ?
@@ -273,6 +303,11 @@

     /**
      *  @copy mx.effects.IEffect#className
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get className():String
     {
@@ -291,6 +326,11 @@

     /**
      *  @copy mx.effects.IEffect#customFilter
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get customFilter():EffectTargetFilter
     {
@@ -325,6 +365,11 @@

     /**
      *  @copy mx.effects.IEffect#duration
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get duration():Number
     {
@@ -360,6 +405,11 @@

     /**
      *  @copy mx.effects.IEffect#effectTargetHost
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get effectTargetHost():IEffectTargetHost
     {
@@ -389,6 +439,11 @@
 	 *  normal effects.
      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected var endValuesCaptured:Boolean = false;

@@ -406,6 +461,11 @@

     /**
      *  @copy mx.effects.IEffect#filter
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get filter():String
     {
@@ -510,6 +570,11 @@

     /**
      *  @copy mx.effects.IEffect#hideFocusRing
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get hideFocusRing():Boolean
     {
@@ -534,6 +599,11 @@
      *
      *
All subclasses of the Effect class must set this property
      *  in their constructor.

+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
 	public var instanceClass:Class = IEffectInstance;

@@ -544,6 +614,11 @@

     /**
      *  @copy mx.effects.IEffect#isPlaying
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get isPlaying():Boolean
     {
@@ -564,6 +639,11 @@

     /**
      *  @copy mx.effects.IEffect#perElementOffset
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get perElementOffset():Number
 	{
@@ -590,6 +670,11 @@

     /**
      *  @copy mx.effects.IEffect#relevantProperties
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get relevantProperties():Array /* of String */
     {
@@ -619,6 +704,11 @@

     /**
      *  @copy mx.effects.IEffect#relevantStyles
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get relevantStyles():Array /* of String */
     {
@@ -647,6 +737,11 @@
      *  until stopped by a call to the end() method.
      *
      *  @default 1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var repeatCount:int = 1;

@@ -662,6 +757,11 @@
      *  Possible values are any integer greater than or equal to 0.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var repeatDelay:int = 0;

@@ -680,6 +780,11 @@
      *  to the first time the effect is played.
      *
      *  @default 0
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var startDelay:int = 0;

@@ -709,6 +814,11 @@
      *

      *
      *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public var suspendBackgroundProcessing:Boolean = false;

@@ -719,6 +829,11 @@

     /**
      *  @copy mx.effects.IEffect#target
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get target():Object
     {
@@ -754,6 +869,11 @@

     /**
      *  @copy mx.effects.IEffect#targets
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get targets():Array
     {
@@ -789,6 +909,11 @@

     /**
      *  @copy mx.effects.IEffect#triggerEvent
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get triggerEvent():Event
 	{
@@ -821,6 +946,11 @@
      * effect.
      *
      * @see #duration
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function seek(seekTime:Number):void
     {
@@ -856,6 +986,11 @@
      *  This property has a value between 0 and the actual duration
      *  (which includes the value of the startDelay,
      *  repeatCount, and repeatDelay properties).
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get playheadTime():Number
     {
@@ -869,6 +1004,11 @@

     /**
      *  @copy mx.effects.IEffect#getAffectedProperties()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getAffectedProperties():Array /* of String */
     {
@@ -878,6 +1018,11 @@

     /**
      *  @copy mx.effects.IEffect#createInstances()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createInstances(targets:Array = null):Array /* of EffectInstance */
     {
@@ -909,6 +1054,11 @@

     /**
      *  @copy mx.effects.IEffect#createInstance()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function createInstance(target:Object = null):IEffectInstance
     {
@@ -970,6 +1120,11 @@
      *  In your override, you must call super.initInstance().

      *
      *  @param EffectInstance The effect instance to initialize.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function initInstance(instance:IEffectInstance):void
     {
@@ -986,6 +1141,11 @@

     /**
      *  @copy mx.effects.IEffect#deleteInstance()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function deleteInstance(instance:IEffectInstance):void
     {
@@ -1006,6 +1166,11 @@

     /**
      *  @copy mx.effects.IEffect#play()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function play(targets:Array = null,
                          playReversedFromEnd:Boolean = false):
@@ -1056,6 +1221,11 @@

     /**
      *  @copy mx.effects.IEffect#pause()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function pause():void
     {
@@ -1073,6 +1243,11 @@

     /**
      *  @copy mx.effects.IEffect#stop()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function stop():void
     {
@@ -1087,6 +1262,11 @@

     /**
      *  @copy mx.effects.IEffect#resume()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function resume():void
     {
@@ -1103,6 +1283,11 @@

     /**
      *  @copy mx.effects.IEffect#reverse()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function reverse():void
     {
@@ -1118,6 +1303,11 @@

     /**
      *  @copy mx.effects.IEffect#end()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function end(effectInstance:IEffectInstance = null):void
     {
@@ -1146,6 +1336,11 @@
      *  @param targ The effect target.
      *
      *  @return Returns true if the effect instance should play.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function filterInstance(propChanges:Array, target:Object):Boolean
     {
@@ -1157,6 +1352,11 @@

     /**
      *  @copy mx.effects.IEffect#captureStartValues()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function captureStartValues():void
     {
@@ -1172,6 +1372,11 @@

     /**
      *  @copy mx.effects.IEffect#captureMoreStartValues()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function captureMoreStartValues(targets:Array):void
     {
@@ -1187,6 +1392,11 @@

     /**
      *  @copy mx.effects.IEffect#captureEndValues()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function captureEndValues():void
     {
@@ -1295,6 +1505,11 @@
      *  @param property The target property.
      *
      *  @return The value of the target property.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function getValueFromTarget(target:Object, property:String):*
     {
@@ -1450,6 +1665,11 @@
      *  @param props Array of Objects, where each Array element contains a
      *  start and end Object
      *  for the properties that the effect is monitoring.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function applyValueToTarget(target:Object, property:String,
                                           value:*, props:Object):void
@@ -1498,6 +1718,11 @@
      *  If you override this method, ensure that you call the super method.
      *
      *  @param event An event object of type EffectEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function effectStartHandler(event:EffectEvent):void
     {
@@ -1510,6 +1735,11 @@
      *  If you override this method, ensure that you call the super method.
      *
      *  @param event An event object of type EffectEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function effectStopHandler(event:EffectEvent):void
     {
@@ -1524,6 +1754,11 @@
      *  If you override this method, ensure that you call the super method.
      *
      *  @param event An event object of type EffectEvent.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     protected function effectEndHandler(event:EffectEvent):void
     {


now using little endian in the AS3 port

now using little endian in the AS3 port

--- as3/src/aerys/qark/Qark.as
+++ as3/src/aerys/qark/Qark.as
@@ -109,6 +109,9 @@
 		{
 			var result	: ByteArray	= new ByteArray();
 			var data 	: ByteArray = new ByteArray();
+
+			result.endian = Endian.LITTLE_ENDIAN;
+			data.endian = Endian.LITTLE_ENDIAN;

 			result.writeInt(MAGIC);

@@ -158,6 +161,8 @@
 		 */
 		public static function decode(source : ByteArray) : *
 		{
+			source.endian = Endian.LITTLE_ENDIAN;
+
 			var magic : uint	= source.readInt();

 			if (magic != MAGIC)


fix smooth level switching reloading the previously loaded level

--- src/com/pivotshare/hls/loader/FragmentLoader.as
+++ src/com/pivotshare/hls/loader/FragmentLoader.as
@@ -464,7 +464,13 @@
                             if (_manifestJustLoaded) {
                                 level = _hls.startLevel;
                             } else {
-                                level = _hls.seekLevel;
+                                if(_hls.stream.bufferLength) {
+                                    // if buffer not empty, select level from heuristics
+                                    level = _levelController.getnextlevel(_hls.loadLevel, _hls.stream.bufferLength);
+                                } else {
+                                    // if buffer empty, retrieve seek level
+                                    level = _hls.seekLevel;
+                                }
                             }
                         } else {
                             level = _hls.manualLevel;


Solve signal listener leak in MeshVisibilityController


added TODO

added TODO


Code cleanup

Code cleanup


Transferred from the Adobe Open Source Subversion Repository

Revision: 201
Author:   rfrishbe@adobe.com
Date:     2008-01-15T01:38:29.498684Z

Log Message:
-----------
For AIRWindow, when going into full screen mode, we remove the titlebar that we draw because it's essentially chrome.  We need to do the same for FULL_SCREEN_INTERACTIVE mode.

Bugs: SDK-14218
QA: Yes
Doc: No
Review: Jono
Cyclone: Yes

[ private comments below ]

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as

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

--- frameworks/projects/airframework/src/mx/core/WindowedApplication.as
+++ frameworks/projects/airframework/src/mx/core/WindowedApplication.as
@@ -2681,7 +2681,8 @@
     	if (stage.displayState != lastDisplayState)
     	{
     		lastDisplayState = stage.displayState;
-    		if (stage.displayState == StageDisplayState.FULL_SCREEN)
+    		if (stage.displayState == StageDisplayState.FULL_SCREEN ||
+    			stage.displayState == StageDisplayState.FULL_SCREEN_INTERACTIVE)
     		{
     			shouldShowTitleBar = showTitleBar;
     			showTitleBar = false;


Added convenience functions to CSVDataSource

--- WeaveData/src/weave/data/DataSources/CSVDataSource.as
+++ WeaveData/src/weave/data/DataSources/CSVDataSource.as
@@ -29,18 +29,21 @@

 	import weave.api.WeaveAPI;
 	import weave.api.core.ICallbackCollection;
+	import weave.api.core.ILinkableHashMap;
 	import weave.api.data.AttributeColumnMetadata;
 	import weave.api.data.DataTypes;
 	import weave.api.data.IAttributeColumn;
 	import weave.api.data.IColumnReference;
 	import weave.api.data.IQualifiedKey;
 	import weave.api.getCallbackCollection;
+	import weave.api.getLinkableOwner;
 	import weave.api.newLinkableChild;
 	import weave.api.reportError;
 	import weave.core.ErrorManager;
 	import weave.core.LinkableString;
 	import weave.data.AttributeColumns.NumberColumn;
 	import weave.data.AttributeColumns.ProxyColumn;
+	import weave.data.AttributeColumns.ReferencedColumn;
 	import weave.data.AttributeColumns.StringColumn;
 	import weave.data.ColumnReferences.HierarchyColumnReference;
 	import weave.utils.ColumnUtils;
@@ -66,6 +69,37 @@

 		// contains the parsed csv data
 		private var csvDataArray:Array = null;
+
+
+		/**
+		 * This will get a list of column names in the CSV data.
+		 * @return A list of column names in the CSV data.
+		 */
+		public function getColumnNames():Array
+		{
+			if (csvDataArray && csvDataArray.length)
+				return csvDataArray[0].concat();
+			return [];
+		}
+
+		/**
+		 * This function will create a column in an ILinkableHashMap that references a column from this CSVDataSource.
+		 * @param csvColumnName The name of the CSV column to put in the hash map.
+		 * @param destinationHashMap The hash map to put the column in.
+		 * @return The column that was created in the hash map.
+		 */
+		public function putColumnInHashMap(csvColumnName:String, destinationHashMap:ILinkableHashMap):IAttributeColumn
+		{
+			var sourceOwner:ILinkableHashMap = getLinkableOwner(this) as ILinkableHashMap;
+			if (!sourceOwner)
+				return null;
+			var refCol:ReferencedColumn = destinationHashMap.requestObject(null, ReferencedColumn, false);
+			var hierarchyColRef1:HierarchyColumnReference =  refCol.dynamicColumnReference.requestLocalObject(HierarchyColumnReference, false);
+			hierarchyColRef1.hierarchyPath.value = <attribute csvColumn={ csvColumnName }/>;
+			hierarchyColRef1.dataSourceName.value = sourceOwner.getName(this);
+			return refCol;
+		}
+

 		/**
 		 * The keys in this Dictionary are ProxyColumns that have been filled in with data via requestColumnFromSource().


Proper (un)escaping in URLVariables

Proper (un)escaping in URLVariables

 Including `+` => ` ` and vice versa.

--- src/flash/net/URLVariables.as
+++ src/flash/net/URLVariables.as
@@ -33,8 +33,8 @@
         Error.throwError(Error, 2101); // Errors.DecodeParamError
         return;
       }
-      var name: String = unescapeMultiByte(p.substring(0, j));
-      var value: String = unescapeMultiByte(p.substring(j + 1));
+      var name: String = decodeURIComponent(p.substring(0, j)).replace('+', ' ');
+      var value: String = decodeURIComponent(p.substring(j + 1)).replace('+', ' ');
       if (typeof this[name] == 'undefined') {
         this[name] = value;
       } else if (this[name] is Array) {
@@ -49,10 +49,12 @@
     for (var name: String in this) {
       if (this[name] is Array) {
         for each (var value:String in this[name]) {
-          pairs.push(escapeMultiByte(name) + '=' + escapeMultiByte(value));
+          pairs.push(encodeURIComponent(name.replace(' ', '+')) + '=' +
+                     encodeURIComponent(value.replace(' ', '+')));
         }
       } else {
-        pairs.push(escapeMultiByte(name) + '=' + escapeMultiByte(this[name]));
+        pairs.push(encodeURIComponent(name.replace(' ', '+')) + '=' +
+                   encodeURIComponent(this[name].replace(' ', '+')));
       }
     }
     return pairs.join('&');


63 More InterpObjectUtil.as bugfix

63 More InterpObjectUtil.as bugfix

--- raw/src/org/yellcorp/math/InterpObjectUtil.as
+++ raw/src/org/yellcorp/math/InterpObjectUtil.as
@@ -10,7 +10,7 @@
     public static function lerpPoint(a:Point, b:Point, t:Number, out:Point):Point
     {
         out.x = a.x + t * (b.x - a.x);
-        out.y = b.y + t * (b.y - a.y);
+        out.y = a.y + t * (b.y - a.y);
         return out;
     }


Small tweaks. Apply directly to the nipples.

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

--- src/as/com/threerings/util/WeakValueHashMap.as
+++ src/as/com/threerings/util/WeakValueHashMap.as
@@ -24,10 +24,10 @@
     override public function get (key :Object) :*
     {
         var result :* = super.get(key);
-        if (result is WeakReference) { // could also just be undefined
+        if (result is WeakReference) { // could also just be undefined or null
             result = WeakReference(result).get();
             if (result === undefined) {
-                remove(key);
+                super.remove(key);
             }
         }
         return result;
@@ -36,6 +36,7 @@
     /** @inheritDoc */
     override public function put (key :Object, value :Object) :*
     {
+        // store nulls directly
         return unwrap(super.put(key, (value == null) ? null : new WeakReference(value)));
     }


Added ASDoc comment

Added ASDoc comment

git-svn-id: 6aa7ccb0a2048310a30f08a72aaff4ca39d980ed@145 91848ab2-c4ae-4e4f-8e6a-6a52ea0dccc3

--- flare.util/flare/display/DirtySprite.as
+++ flare.util/flare/display/DirtySprite.as
@@ -183,6 +183,7 @@
 			// for sub-classes to override...
 		}

+		/** @inheritDoc */
 		public override function toString():String
 		{
 			var s:String = super.toString();


Исправление ошибки

Исправление ошибки

--- src/main/org/shypl/common/timeline/TimedProcessor.as
+++ src/main/org/shypl/common/timeline/TimedProcessor.as
@@ -5,7 +5,7 @@
 	import org.shypl.common.lang.AbstractMethodException;

 	[Abstract]
-	public class TimedProcessor implements Processor {
+	internal class TimedProcessor implements Processor {
 		private var _executeOnAddOrResume:Boolean;
 		private var _running:Boolean = true;
 		private var _executing:Boolean;
@@ -14,7 +14,6 @@
 		private var _ticker:Boolean;
 		private var _lastExecuteTime:int;
 		private var _stopPassedTime:int;
-

 		public function TimedProcessor(executeOnAddOrResume:Boolean) {
 			_executeOnAddOrResume = executeOnAddOrResume;
@@ -40,6 +39,7 @@
 				for each (var task:TimedTask in _newTasks) {
 					task.cancel();
 				}
+				_newTasks.length = 0;
 			}
 			while (_tasks.next()) {
 				TimedTask(_tasks.current).cancel();
@@ -91,6 +91,8 @@
 				for each (var task:TimedTask in _newTasks) {
 					_tasks.add(task);
 				}
+				_newTasks.length = 0;
+
 				if (_executeOnAddOrResume) {
 					executeTasks(_tasks, passedTime);
 				}


Propa spelling.

Propa spelling.

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

--- src/as/com/threerings/ezgame/EZGameControl.as
+++ src/as/com/threerings/ezgame/EZGameControl.as
@@ -152,7 +152,7 @@
         // set up our focusing click handler
         disp.root.addEventListener(MouseEvent.CLICK, handleRootClick);

-        // set up the unload event to propogate
+        // set up the unload event to propagate
         disp.root.loaderInfo.addEventListener(Event.UNLOAD, dispatch);

         // TODO: this should only be available if the game uses it


Even more superclass style and paradigm matching.

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

--- src/as/com/threerings/flex/CommandComboBox.as
+++ src/as/com/threerings/flex/CommandComboBox.as
@@ -53,7 +53,7 @@
         CommandButton.validateCmd(cmdOrFn);
         _cmdOrFn = cmdOrFn;

-        addEventListener(ListEvent.CHANGE, handleChange);
+        addEventListener(ListEvent.CHANGE, handleChange, false, int.MIN_VALUE);
     }

     /**
@@ -75,11 +75,10 @@
     /**
      * Set the selectedItem based on the data field.
      */
-    public function setSelectedData (data :Object) :void
+    public function set selectedData (data :Object) :void
     {
         for (var ii :int = 0; ii < dataProvider.length; ++ii) {
-            if (Util.equals(data,
-                    (dataField != null) ? dataProvider[ii][dataField] : dataProvider[ii])) {
+            if (Util.equals(data, itemToData(dataProvider[ii]))) {
                 this.selectedIndex = ii;
                 return;
             }
@@ -93,15 +92,24 @@
      * The value that will be passed to the command or function based on dataField and the
      * current selected item.
      */
-    public function getSelectedData () :Object
+    public function get selectedData () :Object
     {
-        return (dataField != null) ? this.selectedItem[dataField] : this.selectedItem;
+        return itemToData(this.selectedItem);
+    }
+
+    /**
+     * Extract the data from the specified item. This can be expanded in the future
+     * if we provide a 'dataFunction'.
+     */
+    protected function itemToData (item :Object) :Object
+    {
+        return (dataField == null) ? item : ((item == null) ? null : item[dataField]);
     }

     protected function handleChange (event :ListEvent) :void
     {
         if (this.selectedIndex != -1) {
-            CommandEvent.dispatch(this, _cmdOrFn, getSelectedData());
+            CommandEvent.dispatch(this, _cmdOrFn, selectedData);
         }
     }


XIFF-65: Visibility of a callback method.

git-svn-id: c197267f952b24206666de142881703007ca05d5@11533 b35dd754-fafc-0310-a699-88a17e54d16e

--- src/org/igniterealtime/xiff/conference/Room.as
+++ src/org/igniterealtime/xiff/conference/Room.as
@@ -693,7 +693,7 @@
 		 *
 		 * @param	iq
 		 */
-		private function finish_requestAffiliates( iq:IQ ):void
+		public function finish_requestAffiliates( iq:IQ ):void
 		{
 			finish_admin( iq );
 			if ( iq.type == IQ.TYPE_RESULT )


Fix for aborting BEF - only do it on segments > 4mb.

Also clean up log to keep color coding working better in ST3.

--- HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
+++ HLSPlugin/src/com/kaltura/hls/HLSIndexHandler.as
@@ -1150,7 +1150,7 @@
 			if(curTime - manToReload.timestamp < manToReload.targetDuration * 500)
 			{
 				// Don't need to reload.
-				trace("issueManifestReloadIfNeeded - Don't need to reload yet.");
+				trace("issueManifestReloadIfNeeded - Do not need to reload yet.");
 				return null;
 			}

@@ -1878,10 +1878,29 @@
 				return;
 			}

-			// If we have 512kb of the segment and it's a progress event, we can probably get a timestamp.
-			if(downloader.totalAvailableBytes < 512*1024 && downloader.isComplete == false && event.type == HTTPStreamingEvent.DOWNLOAD_PROGRESS)
-				return;
-
+			// If we have a good initial chunk of the segment and it's a progress event, we can probably get a timestamp.
+			if(event.type == HTTPStreamingEvent.DOWNLOAD_PROGRESS)
+				{
+				// Only consider for segments over 4mb.
+				if(downloader.downloadBytesCount > 4*1024*1024
+					&& downloader.isComplete == false)
+				{
+					trace("Considering fast-skip of best effort segment.");
+					if(downloader.totalAvailableBytes > 512*1024)
+					{
+						// Pass through as if complete.
+					}
+					else
+					{
+						return;
+					}
+				}
+				else
+				{
+					return;
+				}
+			}
+
 			trace("Best effort download complete " + event.toString());

 			// unregister the listeners


introduce MANIFEST loader type

introduce MANIFEST loader type

--- src/org/mangui/hls/constant/HLSLoaderTypes.as
+++ src/org/mangui/hls/constant/HLSLoaderTypes.as
@@ -4,13 +4,15 @@
  package org.mangui.hls.constant {
     /** Identifiers for the different stream types. **/
     public class HLSLoaderTypes {
+        // manifest loader
+        public static const MANIFEST : int = 0;
     	// playlist / level loader
-        public static const LEVEL_MAIN : int = 0;
+        public static const LEVEL_MAIN : int = 1;
     	// playlist / level loader
-        public static const LEVEL_ALTAUDIO : int = 1;
+        public static const LEVEL_ALTAUDIO : int = 2;
         // main fragment loader
-        public static const FRAGMENT_MAIN : int = 2;
+        public static const FRAGMENT_MAIN : int = 3;
         // alt audio fragment loader
-        public static const FRAGMENT_ALTAUDIO : int = 3;
+        public static const FRAGMENT_ALTAUDIO : int = 4;
     }
 }


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

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

 package mx.rpc.xml
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 11824
Author:   dsubrama@adobe.com
Date:     2009-11-15T03:07:00.868423Z

Log Message:
-----------
Followup to the Group check-in.

QE notes: No
Doc notes: No
Bugs: No
Reviewer: Me, I'll have Evtim or Ryan look at this on Monday - we might need to change the fix but this band-aid gets Joan unblocked.
Tests run: Checkintests, Managers and Group
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Group.as

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

--- frameworks/projects/spark/src/spark/components/Group.as
+++ frameworks/projects/spark/src/spark/components/Group.as
@@ -730,8 +730,6 @@
      */
     override protected function commitProperties():void
     {
-        super.commitProperties();
-
         if (blendModeChanged)
         {
             blendModeChanged = false;
@@ -808,6 +806,8 @@
             }
         }

+        super.commitProperties();
+
         if (needsDisplayObjectAssignment)
         {
             needsDisplayObjectAssignment = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10870
Author:   cframpto@adobe.com
Date:     2009-10-05T18:23:10.599724Z

Log Message:
-----------
In the past when the width (or maxWidth) wasn’t specified we told TLF that the width was our default maxWidth=10000.  This had implications especially when the text was rtl or textAlign != left because it aligned over a width of 10000. With this change we let TLF measure.  It will figure out the widest line and use that for the width.  Text will be aligned on that width.  So if there is only one line, and no explicit width, left, center and right alignment all look the same.

Truncation results will be slightly different now if there isn’t an explicit width.  We will let TLF measure the width and it will use that width for the truncation.  Depending on whether the last line is the widest line or not, it may have to remove some of the text to make room for the truncation indicator.

QE notes: there are a handful of RichText and Label failures as a result of this change - Ella approved the submit.
Doc notes:
Bugs: SDK-22909
Reviewer: Gordon
Tests run: checkintests, TextArea, TextInput, NumericStepper, RichText, Label
Is noteworthy for integration: yes

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

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

--- frameworks/projects/spark/src/spark/components/Label.as
+++ frameworks/projects/spark/src/spark/components/Label.as
@@ -439,7 +439,7 @@
         releaseLinesFromTextBlock();

         // Add the new text lines to the container.
-        addTextLines(this);
+        addTextLines();

         // Figure out if a scroll rect is needed.
         isOverset = isTextOverset(width, height);
@@ -839,7 +839,8 @@
 		var innerWidth:Number = bounds.width - paddingLeft - paddingRight;
 		var innerHeight:Number = bounds.height - paddingTop - paddingBottom;

-		if (isNaN(innerWidth))
+        var measureWidth:Boolean = isNaN(innerWidth);
+		if (measureWidth)
 			innerWidth = maxWidth;

         var maxLineWidth:Number = lineBreak == "explicit" ?
@@ -996,8 +997,12 @@
 			return createdAllLines;
 		}

-        // innerWidth remains the same.  alignment is done over the innerWidth
-        // not over the width of the text that was just composed.
+        // If not measuring the width, innerWidth remains the same since
+        // alignment is done over the innerWidth not over the width of the
+        // text that was just composed.
+        if (measureWidth)
+            innerWidth = maxTextWidth;
+
         if (isNaN(bounds.height))
             innerHeight = textLine.y + textLine.descent;


- change: Added transition shortcut for background

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

--- src/reprise/css/propertyparsers/Background.as
+++ src/reprise/css/propertyparsers/Background.as
@@ -60,6 +60,12 @@

 		public static var TRANSITION_SHORTCUTS : Object	=
 		{
+			background :
+			[
+				'backgroundColor',
+				'backgroundPositionX',
+				'backgroundPositionY'
+			],
 			backgroundPosition :
 			[
 				'backgroundPositionX',


- volume fix

- volume fix

--- src/flash/htmlelements/VideoElement.as
+++ src/flash/htmlelements/VideoElement.as
@@ -346,7 +346,7 @@
 				return;

 			if (muted) {
-				_oldVolume = _stream.soundTransform.volume;
+				_oldVolume = (_stream == null) ? _oldVolume : _stream.soundTransform.volume;
 				setVolume(0);
 			} else {
 				setVolume(_oldVolume);