Do not attempt to do things in our constructor if we're not connected. This
allows games to create a HostCoordinator in their constructor and still not
fail unrecoverably to display outside the client environment.

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

--- src/as/com/threerings/ezgame/HostCoordinator.as
+++ src/as/com/threerings/ezgame/HostCoordinator.as
@@ -21,57 +21,49 @@

 package com.threerings.ezgame {

-import flash.events.EventDispatcher;
-
+import flash.events.EventDispatcher;
+
 /**
-   HostCoordinator provides methods for determining whether the current
-   client should consider itself the authority in dealing with game state
-   (for example, when dealing out cards, or setting up the game board).
-
-   Current hosting state can be retrieved from the /status/ property.
-   Please note that hosting authority can be transferred between clients
-   at any moment, so all clients should be prepared to suddenly take
-   over host responsibilities.
-
-   Additionally, the client can register itself for notifications
-   about changes to the /status/ property - see HostEvent.
-
-   Usage example:
-
-

-   _coord = new HostCoordinator (_gameCtrl);
-   _coord.addEventListener (HostEvent.CLAIMED, firstHostHandler);
-   _coord.addEventListener (HostEvent.CHANGED, hostChangeHandler);
-
-   ...
-
-   function firstHostHandler (event : HostEvent)
-   {
-     if (_coord.status == HostCoordinator.STATUS_HOST)
-     {
-       // I'm the first host in the game - I should set up the initial board, etc.
-     }
-   }
-
-   function hostChangeHandler (event : HostEvent)
-   {
-     if (_coord.status == HostCoordinator.STATUS_HOST)
-     {
-       // I just became the host - do whatever is needed.
-     }
-   }
-

-
-*/
-public class HostCoordinator
-    extends EventDispatcher
+ * HostCoordinator provides methods for determining whether the current client should consider
+ * itself the authority in dealing with game state (for example, when dealing out cards, or setting
+ * up the game board).
+ *
+ * Current hosting state can be retrieved from the /status/ property.  Please note that hosting
+ * authority can be transferred between clients at any moment, so all clients should be prepared to
+ * suddenly take over host responsibilities.
+ *
+ * Additionally, the client can register itself for notifications about changes to the /status/
+ * property - see HostEvent.
+ *
+ * Usage example:
+ *
+ *

+ * _coord = new HostCoordinator (_gameCtrl);
+ * _coord.addEventListener (HostEvent.CLAIMED, firstHostHandler);
+ * _coord.addEventListener (HostEvent.CHANGED, hostChangeHandler);
+ *
+ * ...
+ *
+ * function firstHostHandler (event : HostEvent) {
+ *     if (_coord.status == HostCoordinator.STATUS_HOST) {
+ *         // I'm the first host in the game - I should set up the initial board, etc.
+ *     }
+ * }
+ *
+ * function hostChangeHandler (event : HostEvent) {
+ *     if (_coord.status == HostCoordinator.STATUS_HOST) {
+ *         // I just became the host - do whatever is needed.
+ *     }
+ * }
+ *

+ */
+public class HostCoordinator extends EventDispatcher
     implements OccupantChangedListener, PropertyChangedListener
 {
-    // CONSTANTS
+    // PUBLIC INTERFACE

-    /** Status constant, means that the current status is unknown, either because
-        the data had not yet arrived from the server, or because nobody claims
-        to be host for this game. */
+    /** Status constant, means that the current status is unknown, either because the data had not
+     * yet arrived from the server, or because nobody claims to be host for this game. */
     public static const STATUS_UNKNOWN : String = "STATUS_UNKNOWN";

     /** Status constant, means that this client is the current host. */
@@ -79,148 +71,129 @@

     /** Status constant, means that some other client is the current host. */
     public static const STATUS_NOT_HOST : String = "STATUS_NOT_HOST";
-

-
-    // PUBLIC INTERFACE
-
     /**
-       Constructor, expects an initialized instance of EZGameControl.
-
-       If the optional showDebug flag is set, it will display host info
-       as chat messages (only useful for debugging).
+     * Constructor, expects an initialized instance of EZGameControl.  If the optional showDebug
+     * flag is set, it will display host info as chat messages (only useful for debugging).
      */
     public function HostCoordinator (control : EZGameControl, showDebug : Boolean = false)
     {
         _control = control;
-        _control.registerListener (this);
-
+        _control.registerListener(this);
         _showDebug = showDebug;

-        // Try set host role if it's not already claimed (i.e. null)
-        debugLog ("Trying to claim host role.");
-        debugLog ("Current status: " + status);
-        tryReplaceHost (null);
+        if (_control.isConnected()) {
+            // Try set host role if it's not already claimed (i.e. null)
+            debugLog("Trying to claim host role.");
+            debugLog("Current status: " + status);
+            tryReplaceHost(null);
+        }
     }

     /**
-       Retrieves current host coordination status, as one of the STATUS_*
-       constants.
-
-       Note: do not save the value of this property. Hosting status
-       can change at any moment: when the current host quits the game,
-       any client can suddenly become the new host.
-l    */
+     * Retrieves current host coordination status, as one of the STATUS_* constants.
+     *
+     * Note: do not save the value of this property. Hosting status can change at any moment: when
+     * the current host quits the game, any client can suddenly become the new host.
+     */
     public function get status () : String
     {
-        var hostId : Number = getHostId ();
-        if (hostId == _control.getMyId ()) { return STATUS_HOST; }
-        if (hostId > 0) { return STATUS_NOT_HOST; }
-        return STATUS_UNKNOWN;
+        var hostId : Number = getHostId();
+        if (hostId == _control.getMyId()) {
+            return STATUS_HOST;
+        }
+        if (hostId > 0) {
+            return STATUS_NOT_HOST;
+        }
+        return STATUS_UNKNOWN;
     }
-
-
-

     // EVENT HANDLERS

-    /** From OccupantChangedListener: keep track of people coming in */
+    // from interface OccupantChangedListener
     public function occupantEntered (event : OccupantChangedEvent) : void
     {
         debugHostStatus ();
     }

-    /** From OccupantChangedListener: keep track of people leaving */
+    // from interface OccupantChangedListener
     public function occupantLeft (event : OccupantChangedEvent) : void
     {
-        // If the occupant who just left was the host, every client will
-        // get a shot at trying to claim their role.
-        debugLog ("My ID: " + _control.getMyId ());
-        debugLog ("Occupant left: " + event.occupantId);
-        debugLog ("Current host: " + getHostId());
+        // If the occupant who just left was the host, every client will get a shot at trying to
+        // claim their role.
+        debugLog("My ID: " + _control.getMyId());
+        debugLog("Occupant left: " + event.occupantId);
+        debugLog("Current host: " + getHostId());

-        if (getHostId () == event.occupantId) // Elvis has left the building
-        {
-            debugLog ("Removing the old host...");
-            // Clear the old host value, and put myself in their place.
-            // Only the first client will succeed in doing this.
+        if (getHostId() == event.occupantId) { // Elvis has left the building
+            debugLog("Removing the old host...");
+            // Clear the old host value, and put myself in their place.  Only the first client will
+            // succeed in doing this.
             tryReplaceHost (event.occupantId);
         }
     }
-
-    /** From PropertyChangedListener: keep track of changing host values */
+
+    // from interface PropertyChangedListener
     public function propertyChanged (event : PropertyChangedEvent) : void
     {
-        if (event.name == HOST_NAME)
-        {
-            debugLog ("Host variable changed to: " + event.newValue);
-
+        if (event.name == HOST_NAME) {
+            debugLog("Host variable changed to: " + event.newValue);
+
             // if the host was not known before, dispatch the claimed event
-            if (event.oldValue == null &&
-                event.newValue != null)
-            {
-                var claimed : HostEvent = new HostEvent (HostEvent.CLAIMED, _control);
-                this.dispatchEvent (claimed);
+            if (event.oldValue == null && event.newValue != null) {
+                this.dispatchEvent(new HostEvent(HostEvent.CLAIMED, _control));
             }
-
+
             // always dispatch the changed event
-            var changed : HostEvent = new HostEvent (HostEvent.CHANGED, _control);
-            this.dispatchEvent (changed);
+            this.dispatchEvent(new HostEvent(HostEvent.CHANGED, _control));
         }
-    }
-
+    }

-    // PRIVATE FUNCTIONS
+    // IMPLEMENTATION DETAILS

     /** Get the current host ID (will be 0 if there is no authoritative host) */
-    private function getHostId () : Number
+    protected function getHostId () : Number
     {
-        var hostvalue : Object = _control.get (HOST_NAME);
-        if (hostvalue != null && hostvalue is Number)
-        {
+        var hostvalue : Object = _control.get(HOST_NAME);
+        if (hostvalue != null && hostvalue is Number) {
             return hostvalue as Number;
         }
         return 0;
     }

-    /** Helper function: tries to set the host variable to the client's id,
-        if the current value is equal to /hostId/. If the value of null for
-        hostId has the meaning of "set me as host only if the role has not
-        been claimed yet". */
-    private function tryReplaceHost (hostId : Object) : void
+    /** Helper function: tries to set the host variable to the client's id, if the current value is
+     * equal to /hostId/. If the value of null for hostId has the meaning of "set me as host only
+     * if the role has not been claimed yet". */
+    protected function tryReplaceHost (hostId : Object) : void
     {
         _control.testAndSet (HOST_NAME, _control.getMyId (), hostId);
         debugHostStatus ();
     }

     /** Debug only */
-    private function debugLog (message : String) : void
+    protected function debugLog (message : String) : void
     {
-        if (_showDebug) { _control.localChat (message); }
+        if (_showDebug) {
+            _control.localChat (message);
+        }
     }

     /** Debug only */
-    private function debugHostStatus () : void
+    protected function debugHostStatus () : void
     {
-        debugLog (
-            (status == STATUS_HOST ? "I am" : "I'm not") +
-            " the host (id " + getHostId() + ", mine is " + _control.getMyId() + ")");
+        debugLog((status == STATUS_HOST ? "I am" : "I'm not") +
+                 " the host (id " + getHostId() + ", mine is " + _control.getMyId() + ")");
     }

-
-    // PRIVATE VALUES
-
     /** Magic key that stores current authoritative host */
-    private var HOST_NAME : String = "HOST_COORDINATOR_AUTHORITATIVE_HOST";
+    protected var HOST_NAME : String = "HOST_COORDINATOR_AUTHORITATIVE_HOST";

     /** Controller storage */
-    private var _control : EZGameControl = null;
+    protected var _control : EZGameControl = null;

     /** Debug flag */
-    private var _showDebug : Boolean;
-
+    protected var _showDebug : Boolean;
 }
-
 }


revert accidental change to SortedKeySet

--- WeaveData/src/weave/data/KeySets/SortedKeySet.as
+++ WeaveData/src/weave/data/KeySets/SortedKeySet.as
@@ -29,7 +29,6 @@
 	import weave.api.getCallbackCollection;
 	import weave.api.linkableObjectIsBusy;
 	import weave.api.newDisposableChild;
-	import weave.api.newLinkableChild;
 	import weave.api.registerLinkableChild;
 	import weave.compiler.StandardLib;
 	import weave.core.CallbackCollection;
@@ -91,7 +90,8 @@
 		private var _dependencies:ICallbackCollection = newDisposableChild(this, CallbackCollection);
 		private var _keySet:IKeySet;
 		private var _compare:Function;
-		private var _asyncSort:AsyncSort = newLinkableChild(this, AsyncSort);
+		// Note: not using newLinkableChild for _asyncSort because we do not trigger if sorting does not affect order
+		private var _asyncSort:AsyncSort = newDisposableChild(this, AsyncSort);
 		private var _sortedKeys:Array = [];
 		private var _prevSortedKeys:Array = [];


229 small optimization

229 small optimization

--- raw/src/org/yellcorp/format/printf/parser/Parser.as
+++ raw/src/org/yellcorp/format/printf/parser/Parser.as
@@ -85,7 +85,7 @@
         {
             parseField();
         }
-        else
+        else if (token.text)
         {
             var percent:int = token.text.indexOf("%");
             if (percent >= 0)


Transferred from the Adobe Open Source Subversion Repository

Revision: 12850
Author:   jimurphy@adobe.com
Date:     2009-12-11T14:57:14.623098Z

Log Message:
-----------
add 6 new DMV projects to the SDK:
automation
automation_air
automation_dmv
automation_flashflexkit
automation_spark
datavisualization

These projects are setup to build in an ant main call.  There are currently several warnings in the datavisualization project that will be cleaned up.  No checkintests exist for these projects as of yet.

I also modified the exisitng projects build files for easier management of the localization targets, bundle and fat-swc. If the projects that I updated:airframework,airspark,framework,playerglobal,rpc,and spark.  All the new projects have been implemented this same way.

QE notes: DMV folks should run through their tests
Doc notes: probably
Bugs: nope
Reviewer:
Tests run: ran the following targets: compile,checkintests,other.locales and doc
Is noteworthy for integration: no

Modified Paths:
--------------
1404 paths were modified

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

--- frameworks/projects/automation_flashflexkit/src/AutomationFlashFlexKitClasses.as
+++ frameworks/projects/automation_flashflexkit/src/AutomationFlashFlexKitClasses.as
@@ -0,0 +1,35 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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
+{
+
+/**
+ *  @private
+ *  In some projects, this class is used to link additional classes
+ *  into the SWC beyond those that are found by dependency analysis
+ *  starting from the classes specified in manifest.xml.
+ *  This project has no manifest file (because there are no MXML tags
+ *  corresponding to any classes in it) so all the classes linked into
+ *  the SWC are found by a dependency analysis starting from the classes
+ *  listed here.
+ */
+internal class AutomationFlashFlexKitClasses
+{
+
+	import mx.automation.delegates.flashflexkit.ContainerMovieClipAutomationImpl;ContainerMovieClipAutomationImpl;
+	import mx.automation.delegates.flashflexkit.FlexContentHolderAutomationImpl;FlexContentHolderAutomationImpl;
+	import mx.automation.delegates.flashflexkit.UIMovieClipAutomationImpl;UIMovieClipAutomationImpl;
+
+	// Maintain alphabetical order
+}
+
+}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20284
Author:   chiedozi@adobe.com
Date:     2011-02-10T22:13:47.031960Z

Log Message:
-----------
Fixed an issue where components weren't properly positioned after doing a vertical actionBar animation

QE notes:
Doc notes:
Bugs: SDK-29461
Reviewer: Corey
Tests run:
Is noteworthy for integration: No

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as

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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
@@ -807,6 +807,7 @@
             return null;

         transitionGroup = new Group();
+        transitionGroup.autoLayout = false;
         transitionGroup.includeInLayout = false;
         addComponentToContainer(transitionGroup, actionBarSkin);
         transitionGroup.width = actionBar.width;


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

--- frameworks/projects/rpc/src/mx/rpc/Fault.as
+++ frameworks/projects/rpc/src/mx/rpc/Fault.as
@@ -0,0 +1,100 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2005-2007 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package mx.rpc
+{
+
+/**
+ * Object that represents a fault in a remote procedure call (RPC) service
+ * invocation.
+ */
+public class Fault extends Error
+{
+    /**
+     * Creates a new Fault object.
+     */
+    public function Fault(faultCode:String, faultString:String, faultDetail:String = null)
+    {
+        super("faultCode:" + faultCode + " faultString:'" + faultString + "' faultDetail:'" + faultDetail + "'");
+
+		this._faultCode = faultCode;
+        this._faultString = faultString ? faultString : "";
+        this._faultDetail = faultDetail;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Variables
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * The cause of the fault. The value will be null if the cause is
+     * unknown or whether this fault represents the root itself.
+     */
+    public var rootCause:Object;
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     * A simple code describing the fault.
+     */
+    public function get faultCode():String
+    {
+        return _faultCode;
+    }
+
+    /**
+     * Any extra details of the fault.
+     */
+    public function get faultDetail():String
+    {
+        return _faultDetail;
+    }
+
+    /**
+     * Text description of the fault.
+     */
+    public function get faultString():String
+    {
+        return _faultString;
+    }
+
+
+    //--------------------------------------------------------------------------
+    //
+    // Methods
+    //
+    //--------------------------------------------------------------------------
+
+    public function toString():String
+    {
+        var s:String = "[RPC Fault";
+        s += " faultString=\"" + faultString + "\"";
+        s += " faultCode=\"" + faultCode + "\"";
+        s += " faultDetail=\"" + faultDetail + "\"]";
+        return s;
+    }
+
+    protected var _faultCode:String;
+
+	protected var _faultString:String;
+
+	protected var _faultDetail:String;
+}
+
+}


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 10464
Author:   rfrishbe@adobe.com
Date:     2009-09-21T17:40:30.663638Z

Log Message:
-----------
Removing support in Flex framework for compatibility version < 3.  We won't support compatibility-version 2 or 2.01 anymore.  We only keep compatibility-version for one full release, so for Flex 4, we only support compatibility-version = 3.x.

This should reduce our code-size some as we no longer need this old code.  I didn't clean up the compiler's support for compatibility-versioning as it didn't seem worth the effort.

QE notes: -
Doc notes: -
Bugs: SDK-15360
Reviewer: Kevin
Tests run: checkintests, Joan ran all mustella tests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/HaloBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/CanvasLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ScrollArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/AccordionHeaderSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.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/controls/NavBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.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/controls/dataGridClasses/DataGridHeaderBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.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/framework/src/mx/containers/FormItem.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/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CheckBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/DateChooserYearArrowSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuBarItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/PanelSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/menuClasses/MenuItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.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/styles/StyleProtoChain.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.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/skins/halo/ScrollTrackSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/utilityClasses/Flex.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/LinkBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>

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

--- frameworks/projects/mx/src/mx/containers/FormItem.as
+++ frameworks/projects/mx/src/mx/containers/FormItem.as
@@ -21,7 +21,6 @@
 import mx.controls.Label;
 import mx.core.Container;
 import mx.core.EdgeMetrics;
-import mx.core.FlexVersion;
 import mx.core.IFlexDisplayObject;
 import mx.core.IUIComponent;
 import mx.core.mx_internal;
@@ -605,12 +604,6 @@
      */
     override protected function measure():void
     {
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-        {
-            previousMeasure();
-            return;
-        }
-
         super.measure();

         if (direction == FormItemDirection.VERTICAL)
@@ -780,131 +773,6 @@
         measuredWidth = preferredWidth;
         measuredHeight = preferredHeight;
     }
-
-    private function previousMeasure():void
-    {
-        super.measure();
-
-        var numColumns:int = guessedNumColumns =
-            calcNumColumns(guessedRowWidth);
-
-        var horizontalGap:Number = getStyle("horizontalGap");
-        var verticalGap:Number = getStyle("verticalGap");
-        var indicatorGap:Number = getStyle("indicatorGap");
-
-        var col:int = 0;
-
-        var tempMinWidth:Number = 0;
-        var tempWidth:Number = 0;
-        var tempMinHeight:Number = 0;
-        var tempHeight:Number = 0;
-
-        var minWidth:Number = 0;
-        var minHeight:Number = 0;
-        var preferredWidth:Number = 0;
-        var preferredHeight:Number = 0;
-        var maxPreferredWidth:Number = 0;
-
-        var n:int = numChildren;
-        var i:int;
-        var child:IUIComponent;
-
-        // If direction == FormItemDirection.HORIZONTAL
-        // and the children span multiple rows,
-        // then updateDisplayList() (below) sets each child's width to the
-        // preferredWidth of the largest child.
-        if (direction == FormItemDirection.HORIZONTAL && numColumns < n)
-        {
-            for (i = 0; i < n; i++)
-            {
-                child = getLayoutChildAt(i);
-                maxPreferredWidth = Math.max(
-                    maxPreferredWidth, child.getExplicitOrMeasuredWidth());
-            }
-        }
-
-        for (i = 0; i < n; i++)
-        {
-            child = getLayoutChildAt(i);
-
-            if (col < numColumns)
-            {
-                tempMinWidth += !isNaN(child.percentWidth) ?
-                                child.minWidth :
-                                child.getExplicitOrMeasuredWidth();
-
-                tempWidth += (maxPreferredWidth > 0) ?
-                             maxPreferredWidth :
-                             child.getExplicitOrMeasuredWidth();
-
-                if (col > 0)
-                {
-                    tempMinWidth += horizontalGap;
-                    tempWidth += horizontalGap;
-                }
-
-                tempMinHeight = Math.max(tempMinHeight,
-                                         !isNaN(child.percentHeight) ?
-                                         child.minHeight :
-                                         child.getExplicitOrMeasuredHeight());
-
-                tempHeight = Math.max(tempHeight,
-                                      child.getExplicitOrMeasuredHeight());
-            }
-
-            col++;
-
-            if (col >= numColumns || i == n - 1)
-            {
-                minWidth = Math.max(minWidth, tempMinWidth);
-                preferredWidth = Math.max(preferredWidth, tempWidth);
-
-                minHeight += tempMinHeight;
-                preferredHeight += tempHeight;
-
-                if (i > 0)
-                {
-                    minHeight += verticalGap;
-                    preferredHeight += verticalGap;
-                }
-
-                col = 0;
-
-                tempMinWidth = 0;
-                tempWidth = 0;
-
-                tempMinHeight = 0;
-                tempHeight = 0;
-            }
-        }
-
-        var labelWidth:Number = calculateLabelWidth() + indicatorGap;
-        minWidth += labelWidth;
-        preferredWidth += labelWidth;
-
-        if (label != null && label != "")
-        {
-            minHeight = Math.max(minHeight,
-                                 labelObj.getExplicitOrMeasuredHeight());
-
-            preferredHeight = Math.max(preferredHeight,
-                                       labelObj.getExplicitOrMeasuredHeight());
-        }
-
-        var vm:EdgeMetrics = viewMetricsAndPadding;
-
-        minHeight += vm.top + vm.bottom;
-        minWidth += vm.left + vm.right;
-
-        preferredHeight += vm.top + vm.bottom;
-        preferredWidth += vm.left + vm.right;
-
-        measuredMinWidth = minWidth;
-        measuredMinHeight = minHeight;
-
-        measuredWidth = preferredWidth;
-        measuredHeight = preferredHeight;
-    }

     /**
      *  Responds to size changes by setting the positions and sizes
@@ -952,12 +820,6 @@
     override protected function updateDisplayList(unscaledWidth:Number,
                                                   unscaledHeight:Number):void
     {
-        if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0)
-        {
-            previousUpdateDisplayList(unscaledWidth, unscaledHeight);
-            return;
-        }
-
         super.updateDisplayList(unscaledWidth, unscaledHeight);

         if (direction == FormItemDirection.VERTICAL)
@@ -1400,209 +1262,6 @@
         }
     }

-    private function previousUpdateDisplayList(unscaledWidth:Number,
-                                               unscaledHeight:Number):void
-    {
-        super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-        var vm:EdgeMetrics = viewMetricsAndPadding;
-        var left:Number = vm.left;
-        var top:Number = vm.top;
-
-        var y:Number = top;
-        var labelWidth:Number = calculateLabelWidth();
-        var indicatorGap:Number = getStyle("indicatorGap");
-        var horizontalAlign:String = getStyle("horizontalAlign");
-        var i:int;
-        var child:IUIComponent;
-        var childBaseline:Number;
-        var childWidth:Number;
-        var horizontalGap:Number;
-        var verticalGap:Number;
-
-        var horizontalAlignValue:Number;
-        if (horizontalAlign == "right")
-            horizontalAlignValue = 1;
-        else if (horizontalAlign == "center")
-            horizontalAlignValue = 0.5;
-        else
-            horizontalAlignValue = 0;
-
-        var n:int = numChildren;
-
-        // Position our label.
-        if (n > 0)
-        {
-            // Center label with first child
-            child = getLayoutChildAt(0);
-            childBaseline = child.baselinePosition;
-            if (!isNaN(childBaseline))
-                y += childBaseline - labelObj.baselinePosition;
-        }
-
-        // Set label size.
-        labelObj.setActualSize(labelWidth, labelObj.getExplicitOrMeasuredHeight());
-        labelObj.move(left, y);
-
-        left += labelWidth;
-
-        // Position the "required" indicator.
-        displayIndicator(left, y);
-        left += indicatorGap;
-
-        var controlWidth:Number = unscaledWidth - vm.right - left;
-        if (controlWidth < 0)
-            controlWidth = 0;
-
-        // Position our children.
-        if (direction == FormItemDirection.HORIZONTAL)
-        {
-            var maxWidth:Number = 0;
-            var numColumns:int = calcNumColumns(controlWidth);
-            var x:Number;
-            var col:int = 0;
-
-            horizontalGap = getStyle("horizontalGap");
-            verticalGap = getStyle("verticalGap");
-
-            // Earlier, the measure function took a guess at the number
-            // of columns, but that function didn't know the width of this
-            // FormItem.  Now that we know the width, we may discover that the
-            // guess was wrong.  In that case, call invalidateSize(), so that
-            // we loop back and repeat the measurement phase again.
-            //
-            // It's possible that we might introduce an infinite loop - the
-            // new guess might change the layout, so that the guess once again
-            // is found to be wrong.  If we get back here a second time and
-            // discover that the guess is still wrong, we'll just live with it.
-            if (numColumns != guessedNumColumns && numberOfGuesses == 0)
-            {
-                guessedRowWidth = controlWidth;
-                numberOfGuesses = 1;
-                invalidateSize();
-            }
-            else
-            {
-                numberOfGuesses = 0;
-            }
-
-            // Special case for single row - use the HBox layout algorithm.
-            if (numColumns == n)
-            {
-                var h:Number = height - (top + vm.bottom);
-                var excessSpace:Number = Flex.flexChildWidthsProportionally(
-                    this, controlWidth - (n - 1) * horizontalGap, h);
-
-                left += (excessSpace * horizontalAlignValue);
-
-                for (i = 0; i < n; i++)
-                {
-                    child = getLayoutChildAt(i);
-                    child.move(Math.floor(left), top);
-                    left += child.width + horizontalGap;
-                }
-            }
-            else
-            {
-                // Determine the widest child.
-                for (i = 0; i < n; i++)
-                {
-                    child = getLayoutChildAt(i);
-                    maxWidth = Math.max(maxWidth,
-                                        child.getExplicitOrMeasuredWidth());
-                }
-
-                // Determine the left side for the columns.
-                var widthSlop:Number = controlWidth -
-                    (numColumns * maxWidth + (numColumns - 1) * horizontalGap);
-                if (widthSlop < 0)
-                    widthSlop = 0;
-
-                left += (widthSlop * horizontalAlignValue);
-                x = left;
-
-                // Place the children in columns
-                for (i = 0; i < n; i++)
-                {
-                    child = getLayoutChildAt(i);
-
-                    childWidth = Math.min(maxWidth,
-                                          child.getExplicitOrMeasuredWidth());
-
-                    child.setActualSize(childWidth,
-                                        child.getExplicitOrMeasuredHeight());
-                    child.move(x, top);
-
-                    if (++col >= numColumns)
-                    {
-                        x = left;
-                        col = 0;
-                        top += child.height + verticalGap;
-                    }
-                    else
-                    {
-                        x += maxWidth + horizontalGap;
-                    }
-                }
-            }
-        }
-        else
-        {
-            verticalGap = getStyle("verticalGap");
-
-            for (i = 0; i < n; i++)
-            {
-                child = getLayoutChildAt(i);
-
-                // Round up to nearest 1/4 of controlWidth
-                if (!isNaN(child.percentWidth))
-                {
-                    childWidth = Math.floor(controlWidth *
-                        Math.min(child.percentWidth, 100) / 100);
-                }
-                else
-                {
-                    childWidth = child.getExplicitOrMeasuredWidth();
-
-                    // Only do modular sizing if an explicit width isn't set.
-                    if (isNaN(child.explicitWidth))
-                    {
-                        if (childWidth < Math.floor(controlWidth * 0.25))
-                            childWidth = Math.floor(controlWidth * 0.25);
-                        else if (childWidth < Math.floor(controlWidth * 0.5))
-                            childWidth = Math.floor(controlWidth * 0.5);
-                        else if (childWidth < Math.floor(controlWidth * 0.75))
-                            childWidth = Math.floor(controlWidth * 0.75);
-                        else if (childWidth < Math.floor(controlWidth))
-                            childWidth = Math.floor(controlWidth);
-                    }
-                }
-
-                child.setActualSize(childWidth,
-                                    child.getExplicitOrMeasuredHeight());
-
-                var xOffset:Number = (controlWidth - childWidth) * horizontalAlignValue;
-                child.move(left + xOffset, top);
-
-                top += child.height;
-                top += verticalGap;
-            }
-        }
-
-        // Position our label again, now that our children have been positioned.
-        // Moving our children can affect the baselinePosition. (Bug 86725)
-        y = vm.top;
-        if (n > 0)
-        {
-            // Center label with first child
-            child = getLayoutChildAt(0);
-            childBaseline = child.baselinePosition;
-            if (!isNaN(childBaseline))
-                y += childBaseline - labelObj.baselinePosition;
-        }
-        labelObj.move(labelObj.x, y);
-    }
-
     /**
      *  @private
      */


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

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


Transferred from the Adobe Open Source Subversion Repository

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

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

 package spark.layouts.supportClasses
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as
+++ frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutElementHelper.as
@@ -14,6 +14,11 @@

 /**
  *  Documentation is not currently available.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
  */
 public class LayoutElementHelper
 {
@@ -30,6 +35,11 @@
     /**
      *  @return Returns val clamped to the range of
      *  min or max.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public static function pinBetween(val:Number, min:Number, max:Number):Number
     {
@@ -41,6 +51,11 @@
     /**
      *  @return returns the number for the passed in constraint value. Constraint value
      *  can be a Number, or a string in the format "col1:10".
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
      */
     public static function parseConstraintValue(value:Object):Number
     {


AltAudioFragmentLoader.as : don't fire tag loading metrics

--- src/org/mangui/hls/loader/AltAudioFragmentLoader.as
+++ src/org/mangui/hls/loader/AltAudioFragmentLoader.as
@@ -11,7 +11,6 @@
     import org.mangui.hls.demux.DemuxHelper;
     import org.mangui.hls.event.HLSError;
     import org.mangui.hls.event.HLSEvent;
-    import org.mangui.hls.event.HLSLoadMetrics;
     import org.mangui.hls.flv.FLVTag;
     import org.mangui.hls.model.AudioTrack;
     import org.mangui.hls.model.Fragment;
@@ -605,10 +604,6 @@
             }
             // provide tags to HLSNetStream
             _streamBuffer.appendTags(fragData.tags, fragData.tag_pts_min, fragData.tag_pts_max, _frag_current.continuity, _frag_current.start_time + fragData.tag_pts_start_offset / 1000);
-            var processing_duration : Number = (getTimer() - _frag_current.metrics.loading_request_time);
-            var bandwidth : Number = Math.round(fragData.bytesLoaded * 8000 / processing_duration);
-            var tagsMetrics : HLSLoadMetrics = new HLSLoadMetrics(_hls.level, bandwidth, fragData.tag_pts_end_offset, processing_duration);
-            _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, tagsMetrics));
             fragData.shiftTags();
         }

@@ -637,24 +632,20 @@
             }
             try {
                 CONFIG::LOGGING {
-                    Log.debug("Loaded        " + _frag_current.seqnum + " of [" + (_level.start_seqnum) + "," + (_level.end_seqnum) + "],level " + _hls.level + " m/M PTS:" + fragData.pts_min + "/" + fragData.pts_max);
+                    Log.debug("Loaded        " + _frag_current.seqnum + " of [" + (_level.start_seqnum) + "," + (_level.end_seqnum) + "],audio track " + _hls.audioTrack + " m/M PTS:" + fragData.pts_min + "/" + fragData.pts_max);
                 }
                 _level.updateFragment(_frag_current.seqnum, true, fragData.pts_min, fragData.pts_max);
                 // set pts_start here, it might not be updated directly in updateFragment() if this loaded fragment has been removed from a live playlist
                 fragData.pts_start = fragData.pts_min;
                 _loading_state = LOADING_IDLE;
-
-                var tagsMetrics : HLSLoadMetrics = new HLSLoadMetrics(_hls.level, fragMetrics.bandwidth, fragData.pts_max - fragData.pts_min, fragMetrics.processing_duration);
                 if (fragData.tags.length) {
                     if (fragData.metadata_tag_injected == false) {
                         fragData.tags.unshift(_frag_current.metadataTag);
                         fragData.metadata_tag_injected = true;
                     }
                     _streamBuffer.appendTags(fragData.tags, fragData.tag_pts_min, fragData.tag_pts_max, _frag_current.continuity, _frag_current.start_time + fragData.tag_pts_start_offset / 1000);
-                    _hls.dispatchEvent(new HLSEvent(HLSEvent.TAGS_LOADED, tagsMetrics));
                     fragData.shiftTags();
                 }
-                _hls.dispatchEvent(new HLSEvent(HLSEvent.FRAGMENT_LOADED, tagsMetrics));
                 _fragment_first_loaded = true;
                 _frag_previous = _frag_current;
             } catch (error : Error) {


added checks for disposed objects

added checks for disposed objects

Change-Id: I6fa21570e361576696f40fb7dbff001b309e8c29

--- WeaveCore/src/weave/core/LinkableDynamicObject.as
+++ WeaveCore/src/weave/core/LinkableDynamicObject.as
@@ -29,8 +29,10 @@
 	import weave.api.disposeObjects;
 	import weave.api.getLinkableDescendants;
 	import weave.api.getLinkableOwner;
+	import weave.api.objectWasDisposed;
 	import weave.api.registerDisposableChild;
 	import weave.api.registerLinkableChild;
+	import weave.api.reportError;

 	/**
 	 * This object links to an internal ILinkableObject.
@@ -335,8 +337,13 @@
 				if (links != null)
 				{
 					for each (link in links)
-					{
-						// sanity checks
+					{
+						// sanity checks
+						if (objectWasDisposed(link))
+						{
+							reportError('found disposed LinkableDynamicObject while handling global object creation');
+							continue;
+						}
 						if (link._globalName != name)
 							throw new Error("LinkableDynamicObject did not link to expected global name.");
 						if (link._internalObject != null)
@@ -364,6 +371,11 @@
 					for each (link in links)
 					{
 						// sanity check
+						if (objectWasDisposed(link))
+						{
+							reportError('found disposed LinkableDynamicObject while handling global object removal');
+							continue;
+						}
 						if (link._globalName != name)
 							throw new Error("LinkableDynamicObject did not link to expected global name.");

@@ -371,7 +383,7 @@
 						{
 							// sanity checks
 							if (link._locked)
-								throw new Error("LinkableDynamicObject was locked while referenced global object was disposed of.");
+								throw new Error("LinkableDynamicObject was locked while referenced global object was disposed.");
 							if (link._internalObject != oldObject)
 								throw new Error("LinkableDynamicObject was pointing to the wrong global object.");

@@ -384,8 +396,16 @@
 			}

 			// run callbacks for each link after all links have been updated.
-			for each (link in linksThatChanged)
-				link.triggerCallbacks();
+			for each (link in linksThatChanged)
+			{
+				if (objectWasDisposed(link))
+				{
+					// this could possibly happen and is likely no cause for alarm - just a side-effect of triggering callbacks
+					//trace("LinkableDynamicObject was disposed while triggering another one's callbacks");
+					continue;
+				}
+				link.triggerCallbacks();
+			}
 		}

 		/**


409 InterpUtil.hermite

409 InterpUtil.hermite

--- raw/src/org/yellcorp/lib/core/InterpUtil.as
+++ raw/src/org/yellcorp/lib/core/InterpUtil.as
@@ -89,5 +89,30 @@

         return ((P * t + Q) * t + R) * t + S;
     }
+
+    /**
+     * Calculates hermite interpolation between two sample values, each
+     * also having a derivative.
+     *
+     * @param v0 The value at t = 0.
+     * @param d0 The derivative at t = 0.
+     * @param v1 The value at t = 1.
+     * @param d1 The derivative at t = 1.
+     * @param t  The interpolant.
+     *
+     * @return   The interpolated value.
+     */
+    public static function hermite(v0:Number, d0:Number, v1:Number, d1:Number, t:Number):Number
+    {
+        var t2:Number = t * t;
+        var t3:Number = t * t * t;
+
+        var valueBasis:Number = 2 * t3 - 3 * t2;
+
+        return v0 * (valueBasis + 1) +
+               v1 * (-valueBasis) +
+               d0 * (t3 - 2 * t2 + t) +
+               d1 * (t3 - t2);
+    }
 }
 }


added some debug info

added some debug info

--- WeaveData/src/weave/services/ProxyAsyncToken.as
+++ WeaveData/src/weave/services/ProxyAsyncToken.as
@@ -104,7 +104,7 @@
 			}
 			catch (e:Error)
 			{
-				reportError(e);
+				reportError(e, null, event.result);
 				fault = new Fault(e.name, "Unable to parse result from server", e.message);
 				handleFault(FaultEvent.createEvent(fault, this));
 				return;


Transferred from the Adobe Open Source Subversion Repository

Revision: 20125
Author:   jszeto@adobe.com
Date:     2011-02-04T07:41:32.470650Z

Log Message:
-----------
TextInput mouseDown bug fix

SDK-29312 - A press on a TextInput or TextArea immediately shows the focus ring

If setFocus is called after a mouseDown, setFocus on the underlying TextField but cancel any softKeyboard ACTIVATING that might result from that call.

QE notes: none
Doc notes: none
Bugs: SDK-29312
Reviewer: Glenn
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as
@@ -19,6 +19,7 @@
 import flash.events.Event;
 import flash.events.FocusEvent;
 import flash.events.MouseEvent;
+import flash.events.SoftKeyboardEvent;
 import flash.system.Capabilities;

 import flashx.textLayout.elements.TextFlow;
@@ -1410,15 +1411,24 @@
      */
     override public function setFocus():void
     {
-        // If the mouse is down, then we don't want the TextField to get focus until mouse up.
+        // If the mouse is down, then we don't want the TextField to open the soft keyboard until mouse up.
         // Otherwise, this was called programmatically and we want the soft keyboard to appear immediately.
         // Note that isMouseDown can only be true when we are in InteractionMode == TOUCH.
         if (textDisplay)
         {
             if (isMouseDown)
+            {
                 delaySetFocus = true;
+
+                // Cancel the softKeyboard ACTIVATING event
+                addEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, softKeyboardActivatingHandler);
+                textDisplay.setFocus();
+                removeEventListener(SoftKeyboardEvent.SOFT_KEYBOARD_ACTIVATING, softKeyboardActivatingHandler);
+            }
             else
+            {
                 textDisplay.setFocus();
+            }
         }
     }

@@ -2115,6 +2125,14 @@
     }

     /**
+     * @private
+     */
+    private function softKeyboardActivatingHandler(event:SoftKeyboardEvent):void
+    {
+        event.preventDefault();
+    }
+
+    /**
      *  @private
      *  Called when the RichEditableText dispatches a 'selectionChange' event.
      */


Added tileWidth and tileHeight getters to retrieve the tile size.

--- net/flashpunk/graphics/Tilemap.as
+++ net/flashpunk/graphics/Tilemap.as
@@ -149,6 +149,17 @@
 			return (tilesRow % _setRows) * _setColumns + (tilesColumn % _setColumns);
 		}

+		/**
+		 * The tile width.
+		 */
+		public function get tileWidth():uint { return _tile.width; }
+
+		/**
+		 * The tile height.
+		 */
+		public function get tileHeight():uint { return _tile.height; }
+
+
 		// Tilemap information.
 		/** @private */ private var _map:BitmapData;
 		/** @private */ private var _columns:uint;


streamStarted event

streamStarted event

The streamStarted event now triggers when the buffer is full which is
more accurate or in case of a static file, when the unPause event is
triggered by NetStream.

--- src/Player.as
+++ src/Player.as
@@ -17,6 +17,7 @@
   import flash.display.StageScaleMode;
   import flash.events.Event;
   import flash.events.MouseEvent;
+  import flash.events.NetStatusEvent;
   import flash.external.ExternalInterface;
   import flash.media.Microphone;
   import flash.media.SoundMixer;
@@ -209,7 +210,6 @@

       client.addEventListener(ClientEvent.NETSTREAM_CREATED, onNetStreamCreated);
       client.addEventListener(ClientEvent.STOPPED, onStopped);
-      client.addEventListener(ClientEvent.START_PLAY, onStartPlay);
       client.start();
     }

@@ -339,6 +339,14 @@
       this.ns = ev.data.ns;
       ev.data.ns.bufferTime = config.buffer;
       ev.data.ns.client = this;
+      ev.data.ns.addEventListener(NetStatusEvent.NET_STATUS, onNetStatusEvent);
+    }
+
+    public function onNetStatusEvent(ev:NetStatusEvent):void {
+      if (ev.info.code === 'NetStream.Buffer.Full'  || ev.info.code === 'NetStream.Unpause.Notify') {
+        this.currentState = "playing";
+        this.callAPI(EVENT_STREAM_STARTED);
+      }
     }

     private function onStopped(ev:ClientEvent):void {
@@ -350,11 +358,6 @@
       }
     }

-    private function onStartPlay(ev:ClientEvent):void {
-      this.currentState = "playing";
-      this.callAPI(EVENT_STREAM_STARTED);
-    }
-
     public function onPlayStatus(ev:Object):void {
       video.clear();
       client = null;


Change 20090406-bargull-ybS by bargull@dell--p4--2-53 on 2009-04-06 00:42:09
    in /home/Admin/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: inputtext shouldn't be in html-mode by default

New Features:

Bugs Fixed: LPP-8026 (SWF9: edittext/inputtext is in html-mode)

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

Documentation:

Release Notes:

Details:
Set html-flag to false for compatibility with swf8 and dhtml.

Tests:
testcase from bugreport

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

--- WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzInputTextSprite.as
@@ -35,7 +35,9 @@

     override public function __initTextProperties (args:Object) :void {
         super.__initTextProperties(args);
-        // We do not support html in input fields.
+        // We do not support html in input fields.
+        this.html = false;
+
         if (this.enabled) {
             textfield.type = TextFieldType.INPUT;
         } else {


Adding more operators to EquationCompiler

--- WeaveData/src/weave/compiler/EquationCompiler.as
+++ WeaveData/src/weave/compiler/EquationCompiler.as
@@ -25,6 +25,7 @@
 	import mx.utils.StringUtil;

 	import weave.api.compiler.ICompiledObject;
+	import weave.data.AttributeColumns.EquationColumnLib;

 	/**
 	 * This class provides a static function compileEquation() that compiles a mathematical
@@ -197,17 +198,33 @@
 			constants["true"] = true;
 			constants["false"] = false;

-			// initialize operators
+			// grouping operators
 			operators["("] = true;
 			operators[")"] = true;
-			operators[","] = true;
-			operators["^"] = Math.pow;
+			operators[","] = true;
+			// math operators
 			operators["*"] = MathLib.mul;
+			operators["**"] = Math.pow;
 			operators["/"] = MathLib.div;
 			operators["%"] = MathLib.mod;
 			operators["+"] = MathLib.add;
-			operators["-"] = MathLib.sub;
-
+			operators["-"] = MathLib.sub;
+			// bitwise operators
+			operators["&"] = function(x:*, y:*):* { return x & y; };
+			operators["|"] = function(x:*, y:*):* { return x | y; };
+			operators["^"] = function(x:*, y:*):* { return x ^ y; };
+			operators["<<"] = function(x:*, y:*):* { return x << y; };
+			operators[">>"] = function(x:*, y:*):* { return x >> y; };
+			// boolean operators
+			operators["<"] = BooleanLib.lessThan;
+			operators[">"] = BooleanLib.greaterThan;
+			operators["&&"] = function(x:*, y:*):* { return x && y; };
+			operators["||"] = function(x:*, y:*):* { return x || y; };
+			operators["^^"] = function(x:*, y:*):* { return (x ? 1 : 0) ^ (y ? 1 : 0) }; // XOR boolean operator
+
+			//operators["."] = ;
+
+			// create a corresponding function name for each operator
 			for (var op:String in operators)
 				functions[OPERATOR_FUNCTION_NAME_PREFIX + op] = operators[op];

@@ -431,7 +448,11 @@
 			compileInfixOperators(tokens, '*/%', evaluateToConstantIfPossible);
 			// step 8: compile '+' and '-' infix operators
 			compileInfixOperators(tokens, '+-', evaluateToConstantIfPossible);
-			// step 9: compile last token
+			// step 9: compile infix operators
+			compileInfixOperators(tokens, '<>', evaluateToConstantIfPossible);
+			// step 10: compile infix operators
+			compileInfixOperators(tokens, '&|^', evaluateToConstantIfPossible);
+			// step 11: compile last token
 			// there should be only a single token left
 			if (tokens.length == 1)
 				return tokens[0];


Gave AsUnitCoreTest a proper [Before] method so the unit under test would be instantiated fresh for each test method. I don't think we should [Inject] the unit under test! The test needs to know how it was created.

--- asunit-4.0/test/asunit/core/AsUnitCoreTest.as
+++ asunit-4.0/test/asunit/core/AsUnitCoreTest.as
@@ -19,11 +19,12 @@
         [Inject]
         public var async:IAsync;

-        [Inject]
-        public var core:AsUnitCore;
+		private var core:AsUnitCore;

-        [Inject]
-        public var context:Sprite;
+		[Before]
+		public function setUp():void {
+			core = new AsUnitCore();
+		}

         [After]
         public function cleanUpStatics():void {
@@ -59,8 +60,9 @@

         [Test]
         public function setVisualContextShouldWork():void {
+			var context:Sprite = new Sprite();
             core.visualContext = context;
-            assertEquals(context, core.visualContext);
+            assertSame(context, core.visualContext);
         }

         [Test]


loadFlashDocument: Don't blow up if the export directory hasn't been chosen

--- exporter/src/main/as/flump/export/Exporter.as
+++ exporter/src/main/as/flump/export/Exporter.as
@@ -130,7 +130,9 @@
             const name :String = status.file.nativePath.substring(_rootLen);
             const load :Future = new XflLoader().load(name, status.file);
             load.succeeded.add(function (lib :XflLibrary) :void {
-                const isMod :Boolean = BetwixtPublisher.modified(lib, _exportChooser.dir);
+                // Don't blow up if the export directory hasn't been chosen
+                const isMod :Boolean = (_exportChooser.dir != null ?
+                    BetwixtPublisher.modified(lib, _exportChooser.dir) : true);
                 status.lib = lib;
                 status.updateModified(Ternary.of(isMod));
                 for each (var err :ParseError in lib.getErrors()) {


Fixed Layout.minAngle to handle arbitrary angles

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

--- flare/src/flare/vis/operator/layout/Layout.as
+++ flare/src/flare/vis/operator/layout/Layout.as
@@ -192,21 +192,12 @@
 		 * @param a2 the target angle value
 		 * @return an angle that minimizes the distance
 		 */
-		protected static function minAngle(a1:Number, a2:Number):Number
-	    {
-	    	var d1:Number = a2 - a1;
-	    	var d2:Number = Math.abs(d1 - 2*Math.PI);
-	    	var d3:Number = Math.abs(d1 + 2*Math.PI);
-	    	d1 = Math.abs(d1);
-
-	    	if (d1 < d2 && d1 < d3) {
-	    		return a2;
-	    	} else if (d1 < d3) {
-	    		return a2 - 2*Math.PI;
-	    	} else {
-	    		return a2 + 2*Math.PI;
-	    	}
-	    }
+	    protected function minAngle(a1:Number, a2:Number):Number
+		{
+			var inc:Number = 2*Math.PI*(a1 > a2 ? 1 : -1);
+			for (; Math.abs(a1-a2) > Math.PI; a2 += inc);
+			return a2;
+		}

 		// -- Edge Helpers ----------------------------------------------------


Level : getSeqNumNearestPTS(): correctly deals with discontinuities

if requested PTS is bigger than any PTS in this continuity counter range and if this is not the last continuity range of this playlist,
then matching Sequence Number is the first one of following continuity range, i.e last frag.seqnum + 1

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

--- src/org/mangui/hls/model/Level.as
+++ src/org/mangui/hls/model/Level.as
@@ -155,8 +155,14 @@
                     return frag.seqnum;
                 }
             }
-            // requested PTS above max PTS of this level
-            return Number.POSITIVE_INFINITY;
+            // if we are not at the end of the playlist, then return first sn of next cc range
+            // this is needed to deal with PTS analysis on streams with discontinuity
+            if (lastIndex < end_seqnum) {
+                return frag.seqnum+1;
+            } else {
+                // requested PTS above max PTS of this level
+                return Number.POSITIVE_INFINITY;
+            }
         };

         public function getLevelstartPTS() : Number {


fix Geometry.cast() to make sure hitPoint is set even when triangleId = 0

--- src/aerys/minko/render/geometry/Geometry.as
+++ src/aerys/minko/render/geometry/Geometry.as
@@ -1043,7 +1043,7 @@
 				}
 			}

-			if (triangleIndice > 0 && hitPoint)
+			if (triangleIndice >= 0 && hitPoint)
 			{
 				var origin 		: Vector4 	= ray.origin;
 				var direction 	: Vector4	= ray.direction;


Transferred from the Adobe Open Source Subversion Repository

Revision: 19582
Author:   cframpto@adobe.com
Date:     2011-01-04T18:54:36.337306Z

Log Message:
-----------
DropDownListBase: add override for isOurFocus to include openButton
EmphasizedButtonSkin.mxml: added missing states
Path.as: Objects drawn in shared display objects are drawn at x,y rather than 0,0 so need to move the strokeBounds if sharing.
DropDownController.as: minimal changes to check for openButton before accessing it

QE notes:
Doc notes:
Bugs: SDK-28373, SDK-27332, SDK-27050, SDK-22719
Reviewer: Jason
Tests run: cyclone
Is noteworthy for integration:

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/wireframe/src/mx/skins/wireframe/EmphasizedButtonSkin.mxml</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/DropDownListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/Path.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/DropDownController.as
@@ -310,7 +310,8 @@
                 systemManager.getSandboxRoot().addEventListener(Event.RESIZE, systemManager_resizeHandler, false, 0, true);
             }

-            openButton.systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
+			if (openButton && openButton.systemManager)
+            	openButton.systemManager.getSandboxRoot().addEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
         }
     }

@@ -340,7 +341,8 @@
                 systemManager.getSandboxRoot().removeEventListener(Event.RESIZE, systemManager_resizeHandler);
             }

-            openButton.systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
+			if (openButton && openButton.systemManager)
+            	openButton.systemManager.getSandboxRoot().removeEventListener(MouseEvent.MOUSE_WHEEL, systemManager_mouseWheelHandler);
         }
     }

@@ -355,7 +357,7 @@
         if (target)
         {
             // check if the target is the openButton or contained within the openButton
-            if (openButton.contains(target))
+            if (openButton && openButton.contains(target))
                 return true;
             if (hitAreaAdditions != null)
             {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3611
Author:   gruehle@adobe.com
Date:     2008-10-14T00:41:10.950032Z

Log Message:
-----------
Make Gumbo components work in modules.

Bugs: SDK-16070
QE: There are problems with unloading and re-loading modules. This is not specific to Gumbo components, and should be logged as a separate bug.
Reviewer: Ryan
Checkintests: Pass

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as

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

--- frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as
@@ -17,10 +17,13 @@
 import flash.utils.*;

 import mx.core.IFactory;
+import mx.core.IFlexModuleFactory;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.components.Skin;
 import mx.events.PropertyChangeEvent;
+import mx.managers.ISystemManager;
+import mx.modules.ModuleManager;

 use namespace mx_internal;

@@ -591,7 +594,7 @@
      *  @private
      *  Find the skin part metadata for a given className.
      */
-    private static function getSkinPartMetadata(className:String):Array
+    private function getSkinPartMetadata(className:String):Array
     {
         // Check cached values first
         if (!skinPartsByClassName)
@@ -602,7 +605,19 @@
         if (skinParts != null)
             return skinParts;

-        var type:Class = ApplicationDomain.currentDomain.getDefinition(className) as Class;
+        var myApplicationDomain:ApplicationDomain;
+
+        var factory:IFlexModuleFactory = ModuleManager.getAssociatedFactory(this);
+        if (factory != null)
+        {
+            myApplicationDomain = ApplicationDomain(factory.info()["currentDomain"]);
+        }
+        else
+        {
+            myApplicationDomain = systemManager.loaderInfo.applicationDomain;
+        }
+
+        var type:Class = myApplicationDomain.getDefinition(className) as Class;
         skinParts = new Array;

         var des:XML = flash.utils.describeType(type);


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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateFilterInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateFilterInstance.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.effects.supportClasses
 {


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

--- frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as
+++ frameworks/projects/spark/src/spark/skins/spark/TextFieldGridItemRendererInclude.as
@@ -1,4 +1,20 @@
-
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2010 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+/*
+
+The implementations of DefaultGridItemRenderer (nee UIFTETExtFieldGridItemRenderer) and UITextFieldGridItemRenderer
+are identical, save the superclass and constructor names.  This file contains the bulk of the code.
+
+*/
     import flash.display.DisplayObject;
     import flash.events.Event;
     import flash.geom.Matrix;


Transferred from the Adobe Open Source Subversion Repository

Revision: 10607
Author:   gosmith@adobe.com
Date:     2009-09-25T23:08:48.522732Z

Log Message:
-----------
Moved the 'breakOpportunity' style from BasicInheritingTextStyles.as to AdvancedInheritingTextStyles.as, so it is declared on fewer components now. As far as I can tell, it is mainly useful in rich text.

QE notes: None
Doc notes: None
Bugs: SDK-22474
Reviewer: Ryan
Tests run: ant checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Label.as</path>

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

--- frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
+++ frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.as
@@ -18,6 +18,16 @@
  *  @productversion Flex 4
  */
 [Style(name="blockProgression", type="String", enumeration="tb,rl", inherit="yes")]
+
+/**
+ *  @copy flashx.textLayout.formats.ITextLayoutFormat#breakOpportunity
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="breakOpportunity", type="String", enumeration="auto,all,any,none", inherit="yes")]

 /**
  *  @copy flashx.textLayout.formats.ITextLayoutFormat#firstBaselineOffset


Transferred from the Adobe Open Source Subversion Repository

Revision: 17853
Author:   hmuller@adobe.com
Date:     2010-09-24T21:43:00.921081Z

Log Message:
-----------
Replaced DefaultGridHeaderRenderer.as and DefaultGridHeaderRendererSkin.as with DefaultGridHeaderRenderer.mxml (derived from GridItemRenderer).

QE notes: Should have no impact on existing tests
Doc notes:
Bugs:
Reviewer: Kevin
Tests run: checkin
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRendererSkin.mxml</path>
<path kind="file" action="D">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/skins/spark/DefaultGridHeaderRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/defaults.css</path>

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

--- frameworks/projects/spark/src/SparkClasses.as
+++ frameworks/projects/spark/src/SparkClasses.as
@@ -51,7 +51,6 @@
 import spark.skins.spark.DefaultButtonSkin; DefaultButtonSkin;
 import spark.skins.spark.DefaultComplexItemRenderer; DefaultComplexItemRenderer;
 import spark.skins.spark.DefaultGridHeaderRenderer; DefaultGridHeaderRenderer;
-import spark.skins.spark.DefaultGridHeaderRendererSkin; DefaultGridHeaderRendererSkin;
 import spark.skins.spark.DefaultGridItemRenderer; DefaultGridItemRenderer;
 import spark.skins.spark.DefaultItemRenderer; DefaultItemRenderer;
 import spark.skins.spark.DropDownListButtonSkin; DropDownListButtonSkin;


Commit comment containing information determined through experimentation.

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

--- src/as/com/threerings/util/ClassUtil.as
+++ src/as/com/threerings/util/ClassUtil.as
@@ -62,7 +62,8 @@
         }

         // TODO: there's currently no way to determine final from the class
-        //var attrs :XMLList = flash.utils.describeType(type).elements("type");
+        // I thought examining the prototype might do it, but no dice.
+        // Fuckers!
         return false;
     }


make UIHelper.padLeft public

make UIHelper.padLeft public

--- as3/smartform/src/com/rpath/raf/util/UIHelper.as
+++ as3/smartform/src/com/rpath/raf/util/UIHelper.as
@@ -80,7 +80,7 @@
                 ":" + padLeft(date.getMinutes()) + ":" + padLeft(date.getSeconds());
         }

-        private static function padLeft(number:Number):String
+        public static function padLeft(number:Number):String
         {
             var strNum:String = number.toString();
             if (number.toString().length == 1)


Unused import

Unused import

--- runtime/src/main/as/flump/display/LibraryImpl.as
+++ runtime/src/main/as/flump/display/LibraryImpl.as
@@ -1,8 +1,6 @@
 package flump.display {

 import flash.utils.Dictionary;
-
-import flump.mold.MovieMold;

 import starling.display.DisplayObject;
 import starling.display.Image;


fix smooth level switching reloading the previously loaded level

--- src/org/mangui/hls/loader/FragmentLoader.as
+++ src/org/mangui/hls/loader/FragmentLoader.as
@@ -203,7 +203,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;


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

--- frameworks/projects/mx/src/mx/skins/halo/HaloColors.as
+++ frameworks/projects/mx/src/mx/skins/halo/HaloColors.as
@@ -16,6 +16,11 @@

 /**
  *  Defines the colors used by components that support the Halo theme.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public class HaloColors
 {
@@ -45,6 +50,11 @@
 	 *
 	 *  @param colors An arbitrary number of RGB colors expressed
 	 *  as uint values (for example, 0xFF0000).
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function getCacheKey(... colors):String
 	{
@@ -67,6 +77,11 @@
 	 * @param fillColor0 The start color of a fill.

 	 * @param fillColor1 The end color of a fill.
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
 	 */
 	public static function addHaloColors(colors:Object,
 										 themeColor:uint,


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

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

 package mx.rpc.http
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 10759
Author:   chaase@adobe.com
Date:     2009-09-30T20:29:28.049407Z

Log Message:
-----------
Fixes bug in transform effects on nested group structures. We would calculate the transform center based on outdated width/height information for a group (because we took those values prior to running layout on the group, so it was not sized correctly).

The fix is to add width/height to the list of properties that transform effects care about (‘affectedProperties’). Then at those times when we calculate the transform center, we will use these cached values (which are correct at start/end time) rather than going out to the object to grab a potentially wrong value.

QE notes:  Handful of Mustella tests fail due to the new values of relevantProperties/affectedProperties for transform effects. We now care about width/height properties, too.
Doc notes: None
Bugs: SDK-23346
Reviewer: Jason
Tests run: checkintests, Mustella spark/effects, mx/effects/Parallel, mx/effects/Sequence
Is noteworthy for integration: Yes, downstream teams care about this bug

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

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

--- frameworks/projects/spark/src/spark/effects/Scale3D.as
+++ frameworks/projects/spark/src/spark/effects/Scale3D.as
@@ -82,7 +82,8 @@
      */
     private static var AFFECTED_PROPERTIES:Array =
         ["scaleX", "scaleY", "scaleZ",
-         "postLayoutScaleX","postLayoutScaleY","postLayoutScaleZ"];
+         "postLayoutScaleX","postLayoutScaleY","postLayoutScaleZ",
+         "width", "height"];

     private static var RELEVANT_STYLES:Array = [];