Fixed minor cancel issue with Flash runtime.

--- src/flash/plupload/src/com/plupload/File.as
+++ src/flash/plupload/src/com/plupload/File.as
@@ -228,6 +228,10 @@
 			var req:URLRequest, fileData:ByteArray, chunkData:ByteArray;
 			var urlStream:URLStream, url:String, file:File = this;

+			// Upload is cancelled, then stop everything
+			if (file._cancelled)
+				return;
+
 			// Slice out a chunk
 			chunkData = new ByteArray();

@@ -245,10 +249,6 @@
 			// Wait for response and dispatch it
 			urlStream.addEventListener(Event.COMPLETE, function(e:Event):void {
 				var response:String;
-
-				// Upload is cancelled, then stop everything
-				if (file._cancelled)
-					return;

 				response = urlStream.readUTFBytes(urlStream.bytesAvailable);


Fixed resetting of stream after stream has ended

--- src/Player.as
+++ src/Player.as
@@ -356,6 +356,8 @@
     }

     public function onPlayStatus(ev:Object):void {
+      video.clear();
+      client = null;
       this.currentState = "stopped";
       this.callAPI(EVENT_STREAM_STOPPED);
       this.callAPI(EVENT_STREAM_ENDED);


Decimal digits were getting lost merge https://github.com/lzanol/flashls/commit/b5f66d38bf132f432618c80c12d9efe7bd6af82c related to https://github.com/mangui/flashls/pull/79

--- src/org/mangui/hls/utils/Params2Settings.as
+++ src/org/mangui/hls/utils/Params2Settings.as
@@ -37,15 +37,17 @@
             if (param) {
                 // try to assign value with proper object type
                 try {
-                    var c : Class = getDefinitionByName(getQualifiedClassName(HLSSettings[param])) as Class;
+                    var cName : String = getQualifiedClassName(HLSSettings[param]);
+                    // AS3 bug: "getDefinitionByName" considers var value, not type, and wrongly (e.g. 3.0 >> "int"; 3.1 >> "Number").
+                    var c : Class = cName === "int" ? Number : getDefinitionByName(cName) as Class;
                     // get HLSSetting type
                     HLSSettings[param] = c(value);
                     CONFIG::LOGGING {
-                    Log.info("HLSSettings." + param + " = " + HLSSettings[param]);
+                        Log.info("HLSSettings." + param + " = " + HLSSettings[param]);
                     }
                 } catch(error : Error) {
                     CONFIG::LOGGING {
-                    Log.warn("Can't set HLSSettings." + param);
+                        Log.warn("Can't set HLSSettings." + param);
                     }
                 }
             }


check that could cause null object reference in OverlayManager

--- src/org/openPyro/managers/OverlayManager.as
+++ src/org/openPyro/managers/OverlayManager.as
@@ -108,7 +108,9 @@
 			if(!popup || !popup.parent) return;

 			popup.parent.removeChild(popup);
-			bgSprite.visible = false;
+			if(bgSprite){
+				bgSprite.visible = false;
+			}
 		}


Makes InjectionMapping#getProvider public

--- src/org/swiftsuspenders/InjectionMapping.as
+++ src/org/swiftsuspenders/InjectionMapping.as
@@ -208,6 +208,18 @@
 			return Boolean(_creatingInjector.SsInternal::providerMappings[_mappingId]);
 		}

+		public function getProvider() : DependencyProvider
+		{
+			var provider : DependencyProvider =
+				_creatingInjector.SsInternal::providerMappings[_mappingId];
+			while (provider is ForwardingProvider)
+			{
+				provider = ForwardingProvider(provider).provider;
+			}
+			return provider;
+		}
+
+
 		public function apply(targetType : Class, injector : Injector) : Object
 		{
 			return injector.SsInternal::applyMapping(targetType, _mappingId);
@@ -238,17 +250,6 @@

 		//----------------------         Private / Protected Methods        ----------------------//
-		private function getProvider() : DependencyProvider
-		{
-			var provider : DependencyProvider =
-					_creatingInjector.SsInternal::providerMappings[_mappingId];
-			while (provider is ForwardingProvider)
-			{
-				provider = ForwardingProvider(provider).provider;
-			}
-			return provider;
-		}
-
 		private function mapProvider(provider : DependencyProvider) : void
 		{
 			if (_soft)


"get" is a legal function name, so let's be consistent with the Java code.

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

--- src/as/com/threerings/presents/dobj/OidList.as
+++ src/as/com/threerings/presents/dobj/OidList.as
@@ -78,7 +78,7 @@
      * Returns the object id at the specified index. This does no boundary
      * checking.
      */
-    public function getAt (index :int) :int
+    public function get (index :int) :int
     {
         return _oids[index];
     }


Added a note. It's not a complete adobe fuck-up, as it works in
test cases I've made, it just doesn't work in *other instances*,
which I haven't yet been able to control for.

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

--- src/as/com/threerings/util/ObjectMarshaller.as
+++ src/as/com/threerings/util/ObjectMarshaller.as
@@ -75,6 +75,11 @@
         // Guess what, asshats? If you change the encoding spec, IT'S NOT THE SAME VERSION ANYMORE.
         // Thanks for breaking all our code where we explicitly set AMF3, even though
         // it's currently the default.
+        // TODO: find out what's doing it. I can't create a small test case- it seems to
+        // only booch inside Whirled. Even using the viewer seems to always work.
+        // I suspect it's a SecurityDomain/ApplicationDomain thing that's doing it, but
+        // have tried correcting for or erasing those differences and I still have the problem.
+        // Sometime.
         if (obj is Dictionary) {
             var asArray :Array = [];
             for (var key :* in obj) {


Update to match change to ChatDisplay interface.

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

--- src/as/com/threerings/flex/ChatDisplayBox.as
+++ src/as/com/threerings/flex/ChatDisplayBox.as
@@ -59,8 +59,7 @@
     }

     // documentation inherited from interface ChatDisplay
-    public function displayMessage (
-        msg :ChatMessage, alreadyDisplayed :Boolean) :Boolean
+    public function displayMessage (msg :ChatMessage) :void
     {
         if (!_scrollBot) {
             _scrollBot = (verticalScrollPosition == maxVerticalScrollPosition);
@@ -72,7 +71,6 @@
                 (msg as UserMessage).speaker + "></font> ";
         }
         this.htmlText += msg.message;
-        return true;
     }

     // handle us being added or removed from the stage


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21185
Author:   smgilson@adobe.com
Date:     2011-05-02T19:30:30.262522Z

Log Message:
-----------
Fix broken @see tags in ASDoc comment

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

Modified Paths:
--------------
/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/ActionBarSkin.as
@@ -38,10 +38,10 @@
  *  applications.
  *
  *  @see spark.components.ActionBar
- *  @see spark.skins.mobile.NavigationButtonSkin
- *  @see spark.skins.mobile.NavigationBackButtonSkin
- *  @see spark.skins.mobile.ActionButtonSkin
- *  @see spark.skins.mobile.ActionRoundedButtonSkin
+ *  @see spark.skins.mobile.TransparentNavigationButtonSkin
+ *  @see spark.skins.mobile.BeveledBackButtonSkin
+ *  @see spark.skins.mobile.TransparentActionButtonSkin
+ *  @see spark.skins.mobile.BeveledActionButtonSkin
  *
  *  @langversion 3.0
  *  @playerversion AIR 2.5


[tubes] Extends Emitter with `has` method.

--- skein-tubes/src/skein/tubes/core/emitter/Emitter.as
+++ skein-tubes/src/skein/tubes/core/emitter/Emitter.as
@@ -62,6 +62,27 @@
         }
     }

+    public function has(event: String, handler: Function = null): Boolean {
+        if (event == null) {
+            return false;
+        }
+
+        if (!_subscribersMap.hasOwnProperty(event)) {
+            return false;
+        }
+
+        var handlers: Vector.<Function> = _subscribersMap[event];
+        if (handlers == null || handlers.length == 0) {
+            return false;
+        }
+
+        if (handler == null) {
+            return true;
+        }
+
+        return handlers.indexOf(handler) >= 0;
+    }
+
     protected function notifySubscribers(message: Object, info: Object): void {
         if (message == null) {
             return;


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

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

 package mx.events
 {


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 19665
Author:   eday@adobe.com
Date:     2011-01-09T19:46:39.597874Z

Log Message:
-----------
Bounce/pull bug fixes

QE notes:
Doc notes:
Bugs: SDK-29046, SDK-28972
Reviewer: Ryan
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/VScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/HScrollBar.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarThumbSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HScrollBarThumbSkin.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/VScrollBarSkin.as
@@ -17,7 +17,8 @@
 import spark.components.Button;
 import spark.components.VScrollBar;
 import spark.skins.mobile.supportClasses.MobileSkin;
-
+import mx.core.mx_internal;
+use namespace mx_internal;

 /**
  *  ActionScript-based skin for VScrollBar components in mobile applications.
@@ -51,6 +52,8 @@
         useChromeColor = true;
         layoutMeasuredHeight = 20;
         thumbSkinClass = VScrollBarThumbSkin;
+        var paddingRight:int;
+        var paddingVertical:int;

         // Depending on density set our measured width
         switch (applicationDPI)
@@ -58,20 +61,30 @@
             case DPIClassification.DPI_320:
             {
                 layoutMeasuredWidth = 12;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_320DPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_320DPI;
                 break;
             }
             case DPIClassification.DPI_240:
             {
                 layoutMeasuredWidth = 9;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_240DPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_240DPI;
                 break;
             }
             default:
             {
                 // default PPI160
                 layoutMeasuredWidth = 6;
+                paddingRight = VScrollBarThumbSkin.PADDING_RIGHT_DEFAULTDPI;
+                paddingVertical = VScrollBarThumbSkin.PADDING_VERTICAL_DEFAULTDPI;
                 break;
             }
         }
+
+        // The minimum height is set such that, at it's smallest size, the thumb appears
+        // as high as it is wide.
+        minThumbHeight = (layoutMeasuredWidth - paddingRight) + (paddingVertical * 2);
     }

     //--------------------------------------------------------------------------
@@ -84,7 +97,12 @@
      *  @copy spark.skins.spark.ApplicationSkin#hostComponent
      */
     public var hostComponent:VScrollBar;
-
+
+    /**
+     *  @private
+     */
+    private var minThumbHeight:Number;
+
     /**
      *  Skin to use for the thumb Button skin part
      */
@@ -139,6 +157,7 @@
         if (!thumb)
         {
             thumb = new Button();
+            thumb.minHeight = minThumbHeight;
             thumb.setStyle("skinClass", thumbSkinClass);
             thumb.width = layoutMeasuredWidth;
             thumb.height = layoutMeasuredWidth;


Transferred from the Adobe Open Source Subversion Repository

Revision: 15083
Author:   klin@adobe.com
Date:     2010-03-26T22:14:52.263931Z

Log Message:
-----------
Merge 15082 from 4.x to trunk.

Fix for http://bugs.adobe.com/jira/browse/SDK-25997. The knob in a dividedBox is incorrectly positioned. This is the result of a couple of things in BitmapAsset and SpriteAsset.

-Changed rotation setter to set super.rotation when not mirrored.
-width/height are now always positive regardless of whether scaleX/Y is negative.
-width/height getters now take the full transform into account. Basically, they return the bounding box size now.
-Also, BoxDivider sets the layoutDirection of its knob to null (inheriting) in order to be positioned correctly.

QE notes: No
Doc notes: No
Bugs: SDK-25997
Reviewer: Carol, Jason
Tests run: checkintests
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SpriteAsset.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/BitmapAsset.as</path>

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

--- frameworks/projects/mx/src/mx/containers/dividedBoxClasses/BoxDivider.as
+++ frameworks/projects/mx/src/mx/containers/dividedBoxClasses/BoxDivider.as
@@ -16,8 +16,10 @@
 import flash.events.Event;
 import flash.events.MouseEvent;
 import flash.geom.Point;
+
 import mx.containers.DividedBox;
 import mx.containers.DividerState;
+import mx.core.ILayoutDirectionElement;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.events.SandboxMouseEvent;
@@ -255,7 +257,11 @@
                     if (knobClass)
                         knob = new knobClass();
                     if (knob)
+                    {
+                        if (knob is ILayoutDirectionElement)
+                            ILayoutDirectionElement(knob).layoutDirection = null;
                         addChild(knob);
+                    }
                 }

                 if (knob)


Transferred from the Adobe Open Source Subversion Repository

Revision: 7163
Author:   aharui@adobe.com
Date:     2009-05-21T02:19:55.813792Z

Log Message:
-----------
Initial checkin of frame 1 cleanup.  In an RSL linkage, more classes will now come from the RSL because they are no longer needed in frame 1, and the size of the application SWF will be smaller.

QE Notes: None
Doc Notes: Maybe.  All new classes should be undocumented, but it might be worth checking that and any changes to interfaces
Bugs:
Reviewer: darrell
tests: checkintests mustella/MarshallPlan

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as</path>
<path kind="dir" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/LayoutManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/RSLEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/MarshalPopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IEmbeddedFontRegistry.as</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/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.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/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridColumn.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/core/EmbeddedFontRegistry.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/primitives/RichText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EmbeddedFont.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/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/Preloader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ResourceModuleRSLItem.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeProvider.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/FocusManagerMarshalMixin.as</path>
<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/framework/src/mx/resources/ResourceManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IMarshalSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/EventListenerRequest.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/ToolTipManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/flex/sdk/trunk/mustella/MustellaResultsParser.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Alert.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/ChildManager.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/MarshallPlan.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/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/SWFBridgeGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/alertClasses/AlertForm.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/spark/components/Window.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/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework_textLayout/src/mx/core/UITLFTextField.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/DragManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/MenuBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/RichEditableText.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/CSSStyleDeclaration.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/events/FlexEvent.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IActiveWindowManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Application.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/primitives/SimpleText.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/PopUpManagerMarshalMixin.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/managers/SystemManagerProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/messaging/config/LoaderConfig.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/preloaders/DownloadProgressBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManagerChildManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/marshalClasses/CursorManagerMarshalMixin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpData.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ISWFBridgeGroup.as</path>

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

--- frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
+++ frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as
@@ -20,8 +20,6 @@
 import mx.controls.listClasses.IListItemRenderer;
 import mx.core.ClassFactory;
 import mx.core.ContextualClassFactory;
-import mx.core.EmbeddedFont;
-import mx.core.EmbeddedFontRegistry;
 import mx.core.IEmbeddedFontRegistry;
 import mx.core.IFactory;
 import mx.core.IFlexModuleFactory;
@@ -197,6 +195,8 @@
     //  embeddedFontRegistry
     //----------------------------------

+	private static var noEmbeddedFonts:Boolean;
+
     /**
      *  @private
      *  Storage for the embeddedFontRegistry property.
@@ -214,10 +214,17 @@
      */
     private static function get embeddedFontRegistry():IEmbeddedFontRegistry
     {
-        if (!_embeddedFontRegistry)
-        {
-            _embeddedFontRegistry = IEmbeddedFontRegistry(
-                Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+        if (!_embeddedFontRegistry && !noEmbeddedFonts)
+        {
+			try
+			{
+				_embeddedFontRegistry = IEmbeddedFontRegistry(
+					Singleton.getInstance("mx.core::IEmbeddedFontRegistry"));
+			}
+			catch (e:Error)
+			{
+				noEmbeddedFonts = true;
+			}
         }

         return _embeddedFontRegistry;
@@ -289,13 +296,7 @@
      */
     private var hasFontContextBeenSaved:Boolean = false;

-    /**
-     * @private
-     *
-     * Cache last value of embedded font.
-     */
-    private var cachedEmbeddedFont:EmbeddedFont = null;
-
+
     /**
      *  @private
      *
@@ -1423,13 +1424,13 @@
      *  Internal function to allow the DataGrid to set the width of the
      *  column without locking it as an explicitWidth
      */
-     mx_internal function setWidth(value:Number):void
-     {
+    mx_internal function setWidth(value:Number):void
+    {
          var oldValue:Number = _width;
-         _width = value;
+        _width = value;
          if (oldValue != value)
              dispatchEvent(new Event("widthChanged"));
-     }
+    }

     //----------------------------------
     //  wordWrap
@@ -1652,7 +1653,7 @@
             try
             {
                 if ( !hasComplexFieldName )
-                    data = data[dataField];
+                data = data[dataField];
                 else
                     data = deriveComplexColumnData( data );
             }
@@ -1849,28 +1850,6 @@
     /**
      * @private
      *
-     * Get the embedded font for a set of font attributes.
-     */
-    mx_internal function getEmbeddedFont(fontName:String, bold:Boolean, italic:Boolean):EmbeddedFont
-    {
-        // Check if we can reuse a cached value.
-        if (cachedEmbeddedFont)
-        {
-            if (cachedEmbeddedFont.fontName == fontName &&
-                cachedEmbeddedFont.fontStyle == EmbeddedFontRegistry.getFontStyle(bold, italic))
-            {
-                return cachedEmbeddedFont;
-            }
-        }
-
-        cachedEmbeddedFont = new EmbeddedFont(fontName, bold, italic);
-
-        return cachedEmbeddedFont;
-    }
-
-    /**
-     * @private
-     *
      * Save the current font context to member fields.
      */
     private function saveFontContext(flexModuleFactory:IFlexModuleFactory):void
@@ -1882,11 +1861,10 @@
         var fontStyle:String = getStyle("fontStyle");
         var bold:Boolean = fontWeight == "bold";
         var italic:Boolean = fontStyle == "italic";
-        var embeddedFont:EmbeddedFont =
-            getEmbeddedFont(fontName, bold, italic);
-        oldEmbeddedFontContext =
+        oldEmbeddedFontContext = (noEmbeddedFonts || !embeddedFontRegistry) ?
+			null :
             embeddedFontRegistry.getAssociatedModuleFactory(
-                embeddedFont, flexModuleFactory);
+                fontName, bold, italic, this, flexModuleFactory);
     }

     /**
@@ -1911,11 +1889,10 @@
         // Check if the module factory has changed.
         var bold:Boolean = fontWeight == "bold";
         var italic:Boolean = fontStyle == "italic";
-        var embeddedFont:EmbeddedFont =
-            getEmbeddedFont(fontName, bold, italic);
-        var fontContext:IFlexModuleFactory =
+        var fontContext:IFlexModuleFactory = (noEmbeddedFonts || !embeddedFontRegistry) ?
+			null :
             embeddedFontRegistry.getAssociatedModuleFactory(
-                embeddedFont, flexModuleFactory)
+                fontName, bold, italic, this, flexModuleFactory)
         return fontContext != oldEmbeddedFontContext;
     }


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

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

 package mx.effects.effectClasses
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 3546
Author:   smgilson@adobe.com
Date:     2008-10-09T19:41:07.847521Z

Log Message:
-----------
ASDoc edits

Checkin Test Passed: Yes
QA: No
Bug:
Doc: No

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>

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

--- frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
+++ frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as
@@ -25,9 +25,11 @@
 [DefaultProperty("dataProvider")]

 /**
- * The DataComponent class is the base class for all skinnable components that have
- * data content. This class is not typically instantiated in MXML. It is primarily
- * used as a base class, or as a skin part.
+ *  The FxDataContainer class is the base class for all skinnable components that have
+ *  data content. This class is not typically instantiated in MXML. It is primarily
+ *  used as a base class, or as a skin part.
+ *
+ *  @see FxContainer
  */
 public class FxDataContainer extends FxContainerBase
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 18106
Author:   klin@adobe.com
Date:     2010-10-08T20:22:27.356671Z

Log Message:
-----------
Fix various bugs in DataGrid.

-Fixed an edge case in ColumnHeaderBar where renderer heights were causing measuredHeight to be NaN. Also, added support for minWidth and minHeight.
-Fixed case where we were showing indicators even when the column was visible=false.
-The label in DefaultGridHeaderRenderer should have textAlign="start" for mirroring.

QE notes: No
Doc notes: No
Bugs: SDK-28081, SDK-28123, SDK-28144, SDK-28152
Reviewer: Hans
Tests run: cyclone server
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
+++ frameworks/projects/spark/src/spark/components/gridClasses/GridLayout.as
@@ -1507,7 +1507,8 @@
                 return null;
         }

-        if (rowIndex == -1 || grid.selectionMode == GridSelectionMode.NONE)
+        if (rowIndex == -1 || grid.selectionMode == GridSelectionMode.NONE ||
+            (isCellSelectionMode() && (grid.getNextVisibleColumnIndex(columnIndex - 1) != columnIndex)))
         {
             if (indicator)
                 indicator.visible = false;


Transferred from the Adobe Open Source Subversion Repository

Revision: 12789
Author:   smgilson@adobe.com
Date:     2009-12-10T15:51:11.001332Z

Log Message:
-----------
asdoc prep for L10N

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

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/ContainerMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>

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

--- frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
+++ frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as
@@ -2258,7 +2258,18 @@
     private var _visible:Boolean = true;

     /**
-     *  @inheritDoc
+     *  Whether or not the display object is visible.
+     *  Display objects that are not visible are disabled.
+     *  For example, if visible=false for an InteractiveObject instance,
+     *  it cannot be clicked.
+     *
+     *
When setting to true, the object dispatches
+     *  a show event.
+     *  When setting to false, the object dispatches
+     *  a hide event.
+     *  In either case the children of the object does not emit a
+     *  show or hide event unless the object
+     *  has specifically written an implementation to do so.

      */
     override public function get visible():Boolean
     {
@@ -2869,7 +2880,7 @@
     }

     /**
-     *
+     *  @copy mx.core.UIComponent#transformX
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2897,7 +2908,7 @@
     }

     /**
-     *
+     *  @copy mx.core.UIComponent#transformY
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2925,7 +2936,7 @@
     }

     /**
-     *
+     *  @copy mx.core.UIComponent#transformZ
      *
      *  @langversion 3.0
      *  @playerversion Flash 10
@@ -2953,7 +2964,7 @@
     }

     /**
-     *  @inheritDoc
+     *  @copy mx.core.IFlexDisplayObject#rotation
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -3115,7 +3126,7 @@
     }

     /**
-     * @inheritDoc
+     *  @private
      *
      *  @langversion 3.0
      *  @playerversion Flash 9
@@ -3660,11 +3671,6 @@
         return LayoutElementUIComponentUtils.getPreferredBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

-    public function getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getPreferredBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
-    }
-
     /**
      *  @inheritDoc
      *
@@ -3673,14 +3679,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getMinBoundsWidth(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getMinBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getMinBoundsHeight(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getMinBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    public function getPreferredBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getPreferredBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3691,14 +3692,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getMaxBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getMaxBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    public function getMinBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMinBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3709,12 +3705,11 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getBoundsXAtSize(this, width, height,
-                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
-    }
-
+    public function getMinBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMinBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
     /**
      *  @inheritDoc
      *
@@ -3723,10 +3718,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getBoundsYAtSize(this, width, height,
-                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
+    public function getMaxBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMaxBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3737,14 +3731,9 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
-    public function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
-    }
-
-    public function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number
-    {
-        return LayoutElementUIComponentUtils.getLayoutBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    public function getMaxBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getMaxBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

     /**
@@ -3755,11 +3744,73 @@
      *  @playerversion AIR 1.5
      *  @productversion Flex 4
      */
+    public function getBoundsXAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getBoundsXAtSize(this, width, height,
+                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function getBoundsYAtSize(width:Number, height:Number, postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getBoundsYAtSize(this, width, height,
+                                                              postLayoutTransform ? nonDeltaLayoutMatrix() : null);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function getLayoutBoundsWidth(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsWidth(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function getLayoutBoundsHeight(postLayoutTransform:Boolean = true):Number
+    {
+        return LayoutElementUIComponentUtils.getLayoutBoundsHeight(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
+    }
+
+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function getLayoutBoundsX(postLayoutTransform:Boolean = true):Number
     {
         return LayoutElementUIComponentUtils.getLayoutBoundsX(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
     }

+    /**
+     *  @inheritDoc
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
     public function getLayoutBoundsY(postLayoutTransform:Boolean = true):Number
     {
         return LayoutElementUIComponentUtils.getLayoutBoundsY(this,postLayoutTransform? nonDeltaLayoutMatrix():null);
@@ -4665,7 +4716,7 @@
     }

     /**
-     *  This enter frame handler progresses through transitions
+     *  This enter frame handler progresses through transitions.
      *
      *  @langversion 3.0
      *  @playerversion Flash 9


Transferred from the Adobe Open Source Subversion Repository

Revision: 19588
Author:   jasonsj@adobe.com
Date:     2011-01-04T19:32:07.868971Z

Log Message:
-----------
Removed DiscouragedForProfile metadata from ButtonBarButton.

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

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

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

--- frameworks/projects/spark/src/spark/components/ButtonBarButton.as
+++ frameworks/projects/spark/src/spark/components/ButtonBarButton.as
@@ -31,18 +31,6 @@
  *
  */
 [Event(name="dataChange", type="mx.events.FlexEvent")]
-
-//--------------------------------------
-//  Other metadata
-//--------------------------------------
-
-/**
- * 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 ButtonBarButton class defines the custom item renderer


Added check to cache and prevent recursion in .isLocal on data transforms.

--- WeaveJS/src/weavejs/data/DataSourceUtils.as
+++ WeaveJS/src/weavejs/data/DataSourceUtils.as
@@ -21,13 +21,13 @@
 	import weavejs.api.data.IAttributeColumn;
 	import weavejs.api.data.IQualifiedKey;
 	import weavejs.api.data.IDataSource;
-	import weavejs.data.column.DynamicColumn;
 	import weavejs.data.column.DateColumn;
 	import weavejs.data.column.NumberColumn;
 	import weavejs.data.column.ProxyColumn;
 	import weavejs.data.column.StringColumn;
 	import weavejs.data.key.QKeyManager;
 	import weavejs.util.StandardLib;
+	import weavejs.util.JS;

 	public class DataSourceUtils
 	{
@@ -46,6 +46,7 @@
 			return DataType.NUMBER;
 		}

+		private static var _weakMap_dataSource_isLocal:Object = new JS.WeakMap();
 		/**
 		 * Determine whether a datasource that uses columns from other datasources that are remote.
 		 * @param  dataSource The datasource to test.
@@ -54,15 +55,28 @@
 		public static function hasRemoteColumnDependencies(dataSource:IDataSource):Boolean
 		{
 			/* Possibly cache this and check for changes? */
-			for each (var column:DynamicColumn in Weave.getDescendants(dataSource, DynamicColumn))
+			for each (var column:IAttributeColumn in Weave.getDescendants(dataSource, IAttributeColumn))
 			{
 				for each (var columnDataSource:IDataSource in ColumnUtils.getDataSources(column))
 				{
 					if (columnDataSource === dataSource) continue;
-					if (!columnDataSource.isLocal)
+					var isLocal:Boolean;
+					if (Weave.detectChange(_weakMap_dataSource_isLocal, columnDataSource))
+					{
+						isLocal = columnDataSource.isLocal;
+						_weakMap_dataSource_isLocal.set(columnDataSource, isLocal);
+					}
+					else
+					{
+						isLocal = _weakMap_dataSource_isLocal.has(columnDataSource) ?
+							_weakMap_dataSource_isLocal.get(columnDataSource) : true;
+					}
+
+					if (!isLocal)
 						return true;
 				}
 			}
+
 			return false;
 		}


back to old behavior mapping null and "" keyTypes to "string"

Change-Id: I1c104162a9cc9f6a9a6f8e7b775b94e086629397

--- WeaveJS/src/weavejs/data/key/QKeyManager.as
+++ WeaveJS/src/weavejs/data/key/QKeyManager.as
@@ -17,6 +17,7 @@
 {
 	import weavejs.WeaveAPI;
 	import weavejs.api.core.ILinkableObject;
+	import weavejs.api.data.DataType;
 	import weavejs.api.data.ICSVParser;
 	import weavejs.api.data.IQualifiedKey;
 	import weavejs.api.data.IQualifiedKeyManager;
@@ -39,9 +40,6 @@
 	{
 		public function QKeyManager()
 		{
-			// map_qkeyString_qkey corresponds to a null keyType
-			map_qkeyString_qkey = new JS.Map();
-			map_keyType_localName_qkey.map.set(null, map_qkeyString_qkey);
 		}

 		/**
@@ -57,11 +55,11 @@
 		/**
 		 * keyType -> Object( localName -> IQualifiedKey )
 		 */
-		private var map_keyType_localName_qkey:Dictionary2D = new Dictionary2D();
-
-		private var map_qkeyString_qkey:Object;
+		private var d2d_keyType_localName_qkey:Dictionary2D/*/<string,string,IQualifiedKey>/*/ = new Dictionary2D();
+
+		private var map_qkeyString_qkey:/*/Map<string,IQualifiedKey>/*/Object = new JS.Map();

-		private var map_context_qkeyGetter:Object = new JS.WeakMap();
+		private var map_context_qkeyGetter:/*/Map<Object,QKeyGetter>/*/Object = new JS.WeakMap();

 		private var _keyBuffer:Array = []; // holds one key

@@ -108,10 +106,10 @@
 			// use & prefer the same map associated with the trimmed keyType
 			var trimmedKeyType:String = StandardLib.trim(keyType);
 			if (trimmedKeyType != keyType)
-				map_localName_qkey = map_keyType_localName_qkey.map.get(trimmedKeyType) || init_map_localName_qkey(trimmedKeyType);
+				map_localName_qkey = d2d_keyType_localName_qkey.map.get(trimmedKeyType) || init_map_localName_qkey(trimmedKeyType);
 			else
 				map_localName_qkey = new JS.Map();
-			map_keyType_localName_qkey.map.set(keyType, map_localName_qkey);
+			d2d_keyType_localName_qkey.map.set(keyType, map_localName_qkey);
 			return map_localName_qkey;
 		}

@@ -120,40 +118,39 @@
 		 */
 		public function getQKeys_range(keyType:String, keyStrings:Array/*/<string>/*/, iStart:uint, iEnd:uint, output:Array/*/<IQualifiedKey>/*/):void
 		{
-			keyType = keyType == null ? null : String(keyType);
-
-			var map_localName_qkey:Object = map_keyType_localName_qkey.map.get(keyType);
+			if (!keyType)
+				keyType = DataType.STRING;
+
+			var map_localName_qkey:Object = d2d_keyType_localName_qkey.map.get(keyType);
 			if (!map_localName_qkey)
 				map_localName_qkey = init_map_localName_qkey(keyType);
-			keyType = StandardLib.trim(keyType);

 			if (!csvParser)
 				csvParser = new CSVParser(false, DELIMITER);

+			var trimmedKeyType:String = null;
 			for (var i:int = iStart; i < iEnd; i++)
 			{
 				var localName:String = String(keyStrings[i]);
 				var qkey:QKey = map_localName_qkey.get(localName);
 				if (!qkey)
 				{
+					if (!trimmedKeyType)
+						trimmedKeyType = StandardLib.trim(keyType);
 					var trimmedLocalName:String = StandardLib.trim(localName);
 					qkey = map_localName_qkey.get(trimmedLocalName);
 					if (!qkey)
 					{
-						var qkeyString:String;
-						if (keyType)
-							qkeyString = csvParser.createCSVRow([keyType, trimmedLocalName]);
-						else
-							qkeyString = trimmedLocalName;
-
-						qkey = new QKey(keyType, trimmedLocalName, qkeyString);
+						var qkeyString:String = csvParser.createCSVRow([trimmedKeyType, trimmedLocalName]);
+						qkey = new QKey(trimmedKeyType, trimmedLocalName, qkeyString);

 						map_localName_qkey.set(trimmedLocalName, qkey);
 						map_qkeyString_qkey.set(qkeyString, qkey);
 						array_numberToQKey[qkey.toNumber()] = qkey;
-						map_qkey_keyType.set(qkey, keyType);
+						map_qkey_keyType.set(qkey, trimmedKeyType);
 						map_qkey_localName.set(qkey, trimmedLocalName);
 					}
+					// make untrimmed localName point to QKey for trimmedLocalName to avoid calls to trim() next time
 					if (localName != trimmedLocalName)
 						map_localName_qkey.set(localName, qkey);
 				}
@@ -230,7 +227,7 @@
 		 */
 		public function getAllKeyTypes():Array/*/<string>/*/
 		{
-			return map_keyType_localName_qkey.primaryKeys();
+			return d2d_keyType_localName_qkey.primaryKeys();
 		}

 		/**
@@ -239,7 +236,7 @@
 		 */
 		public function getAllQKeys(keyType:String):Array/*/<IQualifiedKey>/*/
 		{
-			return JS.mapValues(map_keyType_localName_qkey.map.get(keyType));
+			return JS.mapValues(d2d_keyType_localName_qkey.map.get(keyType));
 		}

 		/**


Transferred from the Adobe Open Source Subversion Repository

Revision: 10050
Author:   dloverin@adobe.com
Date:     2009-09-08T14:43:16.690474Z

Log Message:
-----------
Per-Module Style Management: Create a style manager for each application/module.

The singleton StyleManager is still the only style manager that is currently used.

QE notes: None.
Doc notes: None.
Bugs:
Reviewer: Alex
Tests run: checkintests, Managers/StyleManager
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/Request.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.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/modules/compiler/src/java/flex2/compiler/mxml/lang/StandardDefs.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/IModuleInfo.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/FlexModuleFactory.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/modules/ModuleLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.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/modules/ModuleManager.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/styles/IStyleManager2.as</path>

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

--- frameworks/projects/framework/src/mx/controls/SWFLoader.as
+++ frameworks/projects/framework/src/mx/controls/SWFLoader.as
@@ -46,6 +46,7 @@
 import mx.events.FlexEvent;
 import mx.events.InterManagerRequest;
 import mx.events.InvalidateRequestData;
+import mx.events.Request;
 import mx.events.SWFBridgeEvent;
 import mx.events.SWFBridgeRequest;
 import mx.managers.CursorManager;
@@ -2266,7 +2267,16 @@

         // if we are loading a swf listen of a message if it ends up needing to
         // use a sandbox bridge to communicate.
-        addInitSystemManagerCompleteListener(LoaderInfo(event.target).loader.contentLoaderInfo);
+        var loaderInfo:LoaderInfo = LoaderInfo(event.target);
+        addInitSystemManagerCompleteListener(loaderInfo.loader.contentLoaderInfo);
+
+        if (loaderInfo.parentAllowsChild && loaderInfo.childAllowsParent
+            && loaderInfo.loader.content)
+        {
+            loaderInfo.content.addEventListener(Request.GET_FLEX_MODULE_FACTORY_REQUEST,
+                                            loader_content_getFlexModuleFactoryRequestHandler);
+        }
+
     }

@@ -2403,10 +2413,32 @@
         }

         if (contentHolder is Loader)
-                        removeInitSystemManagerCompleteListener(Loader(contentHolder).contentLoaderInfo);
-
-    }
-
+        {
+            var contentLoaderInfo:LoaderInfo = Loader(contentHolder).contentLoaderInfo
+            removeInitSystemManagerCompleteListener(contentLoaderInfo);
+
+            if (contentLoaderInfo.parentAllowsChild && contentLoaderInfo.childAllowsParent
+                && contentLoaderInfo.loader.content)
+            {
+                contentLoaderInfo.content.removeEventListener(Request.GET_FLEX_MODULE_FACTORY_REQUEST,
+                    loader_content_getFlexModuleFactoryRequestHandler);
+            }
+        }
+
+    }
+
+    /**
+     *  @private
+     *
+     *  @param request Use type Event instead of Request because the event may be send from
+     *  another ApplicationDomain (A.2).
+     */
+    public function loader_content_getFlexModuleFactoryRequestHandler(request:Event):void
+    {
+        if ("value" in request)
+            request["value"] = moduleFactory;
+    }
+
     /**
      *      @private
      *
@@ -2436,7 +2468,8 @@
                                invalidateRequestHandler);
         }
     }
-
+
+
     /**
      *  @private
      *


Transferred from the Adobe Open Source Subversion Repository

Revision: 4205
Author:   clucier@adobe.com
Date:     2008-12-01T19:48:53.571431Z

Log Message:
-----------
Initial baselinePosition support for our new skinnable components.
QE Notes: Please wait until Evtim completes his baseline support in our new layouts to test.
Doc Notes: None
Reviewer: Glenn, Evtim

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/TextGraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IVisualElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/graphicsClasses/GraphicElement.as</path>

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

--- frameworks/projects/spark/src/spark/components/RichText.as
+++ frameworks/projects/spark/src/spark/components/RichText.as
@@ -246,6 +246,25 @@

         super.text = value;
     }
+
+    //----------------------------------
+    //  baselinePosition
+    //----------------------------------
+
+    [Inspectable(category="General")]
+
+    /**
+     *  The y-coordinate of the baseline of the first line of text.
+     */
+    override public function get baselinePosition():Number
+    {
+        mx_internal::validateBaselinePosition();
+
+        // Return the baseline of the first line of composed text.
+        return (textFlowComposer.textLines.length > 0) ?
+            textFlowComposer.textLines[0].y : 0;
+    }
+

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


Uint64.as ??? UInt64.as

Uint64.as ??? UInt64.as

--- as3/com/netease/protobuf/Uint64.as
+++ as3/com/netease/protobuf/Uint64.as
@@ -1,19 +0,0 @@
-// vim: tabstop=4 shiftwidth=4
-
-// Copyright (c) 2010 , NetEase.com,Inc. All rights reserved.
-//
-// Author: Yang Bo (pop.atry@gmail.com)
-//
-// Use, modification and distribution are subject to the "New BSD License"
-// as listed at <url: http://www.opensource.org/licenses/bsd-license.php >.
-
-package com.netease.protobuf {
-	public final class UInt64 {
-		public var low:uint;
-		public var high:uint;
-		public function UInt64(low:uint = 0, high:uint = 0) {
-			this.low = low
-			this.high = high
-		}
-	}
-}


Minor refactoring.

Minor refactoring.

--- src/goplayer/Application.as
+++ src/goplayer/Application.as
@@ -33,13 +33,32 @@
       addEventListener(MouseEvent.CLICK, handleClick)
     }

+    public function start() : void
+    {
+      drawBackground()
+
+      stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown)
+      stage.addEventListener(Event.RESIZE, handleStageResized)
+
+      debug("Looking up Streamio movie “" + movieID + "”...")
+
+      api.fetchMovie(movieID, this)
+    }
+
+    private function drawBackground() : void
+    {
+      graphics.beginFill(0x000000)
+      graphics.drawRect(0, 0, stageDimensions.width, stageDimensions.height)
+      graphics.endFill()
+    }
+
     private function handleClick(event : MouseEvent) : void
     {
       if (ready)
-        ready = false, handleStartRequested()
+        ready = false, handlePlayRequested()
     }

-    private function handleStartRequested() : void
+    private function handlePlayRequested() : void
     {
       debug("Playing movie.")
       play()
@@ -61,25 +80,6 @@
         player.changeVolumeBy(-.1)
     }

-    public function start() : void
-    {
-      drawBackground()
-
-      stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown)
-      stage.addEventListener(Event.RESIZE, handleStageResized)
-
-      debug("Looking up Streamio movie “" + movieID + "”...")
-
-      api.fetchMovie(movieID, this)
-    }
-
-    private function drawBackground() : void
-    {
-      graphics.beginFill(0x000000)
-      graphics.drawRect(0, 0, stageDimensions.width, stageDimensions.height)
-      graphics.endFill()
-    }
-
     private function handleStageResized(event : Event) : void
     {
       if (view)
@@ -90,6 +90,17 @@
     {
       this.movie = movie

+      logMovieInformation()
+      createPlayer()
+
+      if (autoplay)
+        play()
+      else
+        ready = true, debug("Click movie to start playback.")
+    }
+
+    private function logMovieInformation() : void
+    {
       debug("Movie “" + movie.title + "” found.")

       const bitrates : Array = []
@@ -101,7 +112,10 @@
         debug("No RTMP streams available.")
       else
         debug("Available RTMP streams: " + bitrates.join(", "))
+    }

+    private function createPlayer() : void
+    {
       const kit : PlayerKit = new PlayerKit(movie)

       player = kit.player
@@ -111,11 +125,6 @@
       view.dimensions = stageDimensions

       addChild(view)
-
-      if (autoplay)
-        play()
-      else
-        ready = true, debug("Click movie to start playback.")
     }

     private function get stageDimensions() : Dimensions


only _currentDisplay has name == layer name

--- runtime/src/main/as/flump/display/Layer.as
+++ runtime/src/main/as/flump/display/Layer.as
@@ -21,6 +21,7 @@
     public function Layer (movie :Movie, src :LayerMold, library :Library, flipbook :Boolean) {
         _keyframes = src.keyframes;
         _movie = movie;
+        _name = src.name;

         const lastKf :KeyframeMold = _keyframes[_keyframes.length - 1];
         _numFrames = lastKf.index + lastKf.duration;
@@ -32,7 +33,7 @@
         if (!flipbook && lastItem == null) {
             // The layer is empty.
             _currentDisplay = new Sprite();
-            _currentDisplay.name = src.name;
+            _currentDisplay.name = null;
             _movie.addChild(_currentDisplay);
         } else {
             // Create the display objects for each keyframe.
@@ -50,7 +51,7 @@
                     display = library.createDisplayObject(kf.ref);
                 }
                 _displays[ii] = display;
-                display.name = src.name;
+                display.name = null;
                 display.visible = false;
                 _movie.addChild(display);
             }
@@ -58,10 +59,12 @@
             _currentDisplay.visible = true;

             _frameOvershootDisplay = new Sprite();
-            _frameOvershootDisplay.name = src.name;
+            _frameOvershootDisplay.name = null;
             _frameOvershootDisplay.visible = false;
             _movie.addChild(_frameOvershootDisplay);
         }
+
+        _currentDisplay.name = _name;
     }

     /** Called by Movie when we loop. */
@@ -85,8 +88,10 @@
         } else if (frame >= _numFrames) {
             // We've overshot our final frame. Show an empty sprite.
             if (_currentDisplay != _frameOvershootDisplay) {
+                _currentDisplay.name = null;
                 _currentDisplay.visible = false;
                 _currentDisplay = _frameOvershootDisplay;
+                _currentDisplay.name = _name;
             }
             // keep our keyframeIdx updated
             _keyframeIdx = _keyframes.length - 1;
@@ -103,12 +108,14 @@
             // Swap in the proper DisplayObject for this keyframe.
             const disp :DisplayObject = _displays[_keyframeIdx];
             if (_currentDisplay != disp) {
+                _currentDisplay.name = null;
                 _currentDisplay.visible = false;
                 // If we're swapping in a Movie, reset its timeline.
                 if (disp is Movie) {
                     Movie(disp).addedToLayer();
                 }
                 _currentDisplay = disp;
+                _currentDisplay.name = _name;
             }
         }
         _needsKeyframeUpdate = false;
@@ -168,5 +175,7 @@
     protected var _keyframeIdx :int;
     // true if the keyframe has changed since the last drawFrame
     protected var _needsKeyframeUpdate :Boolean;
+    // name of the layer
+    protected var _name :String;
 }
 }


- added getter for elementtype

- added getter for elementtype

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

--- src/reprise/ui/UIObject.as
+++ src/reprise/ui/UIObject.as
@@ -108,6 +108,11 @@
 			return loaderInfo.url;
 		}

+		public function elementType():String
+		{
+			return m_elementType;
+		}
+
 		/**
 		 * Sets the parent UIObject for the object.
 		 *


Transferred from the Adobe Open Source Subversion Repository

Revision: 18057
Author:   dloverin@adobe.com
Date:     2010-10-07T12:48:56.984897Z

Log Message:
-----------
Fix redispatching cancelable MouseEvents.

SystemManager:
•       Moved adding the listeners from initHandler to initializeTopLevelWindow() so it would be in the same location as in WindowedSystemManager. It’s easier to keep the two files in sync this way and should be early enough to get the job done.
•       mouseEventHandler: Test if the MouseEvent is an AIR mouse event. If it is then create an AIR MouseEvent indirectly.

WindowedSystemManager:
•       The MouseEvent code was not here before so I added the listeners to initializeTopLevelWindow() and added the event handlers, except the keyDown event handler. The keyDown event handler was not needed because AIR keyDown events are already cancelable.

QE notes: None.
Doc notes: None.
Bugs: SDK-27940
Reviewer: Alex
Tests run: cyclone server
Is noteworthy for integration: No.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>

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

--- frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
+++ frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as
@@ -1000,6 +1000,21 @@
     {
         initialized = true;

+        // This listener is intended to run before any other KeyboardEvent listeners
+        // so that it can redispatch a cancelable=true copy of the event.
+        if (getSandboxRoot() == this)
+        {
+            // keydown events on AIR are cancelable so we don't need to add a listener.
+            addEventListener(MouseEvent.MOUSE_WHEEL, mouseEventHandler, true, 1000);
+            addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, true, 1000);
+        }
+        if (isTopLevelRoot() && stage)
+        {
+            // keydown events on AIR are cancelable so we don't need to add a listener.
+            stage.addEventListener(MouseEvent.MOUSE_WHEEL, mouseEventHandler, false, 1000);
+            stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseEventHandler, false, 1000);
+        }
+
         if (!parent)
             return;

@@ -1034,7 +1049,7 @@
         }

         //  if (topLevel && stage)
-            stage.addEventListener(Event.RESIZE, Stage_resizeHandler, false, 0, true);
+        stage.addEventListener(Event.RESIZE, Stage_resizeHandler, false, 0, true);

         var app:IUIComponent;
         // Create a new instance of the toplevel class
@@ -2233,5 +2248,39 @@
     {
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Event Handlers
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  NOTE: The keyDownHandler in SystemManager is not needed in AIR because
+     *  AIR keyDown events are cancelable.
+     */
+
+    /**
+     *  @private
+     *  We want to re-dispatch
+     *  mouse events that are cancellable.  Currently we are only doing
+     *  this for a few mouse events and not all of them (MOUSE_WHEEL and
+     *  MOUSE_DOWN).
+     */
+    private function mouseEventHandler(e:MouseEvent):void
+    {
+        if (!e.cancelable)
+        {
+            e.stopImmediatePropagation();
+            var cancelableEvent:MouseEvent = new MouseEvent(e.type, e.bubbles,
+                true, e.localX,
+                e.localY, e.relatedObject, e.ctrlKey, e.altKey,
+                e.shiftKey, e.buttonDown, e.delta,
+                e.commandKey, e.controlKey, e.clickCount);
+
+            e.target.dispatchEvent(cancelableEvent);
+        }
+    }
+
+
 }
 }


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

--- frameworks/projects/charts/src/mx/charts/renderers/DiamondItemRenderer.as
+++ frameworks/projects/charts/src/mx/charts/renderers/DiamondItemRenderer.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.renderers
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 7979
Author:   aharui@adobe.com
Date:     2009-06-18T21:47:52.364806Z

Log Message:
-----------
ButtonBar PARB changes:

-arrowKeysWrapFocus removed from ButtonBar
-arrowKeysWrapFocus added to ListBase
-arrowKeysWrapFocus added as parameter to LayoutBase.getNavigationDestinationIndex (and subclasses of LayoutBase)
-itemClick event removed from ButtonBar, now uses "change" event like other ListBase components
-ASDoc removed for partAdded/partRemoved

QE Notes: None
Doc Notes: Yes, ASDoc affected by every change listed above
Bugs: N/A
Reviewer: szeto
tests: checkintests mustella/List mustella/ButtonBar

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/supportClasses/LayoutBase.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/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/layouts/VerticalLayout.as</path>

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

--- frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as
@@ -80,6 +80,7 @@
  *  <ListBase
  *
  *    Properties
+ *    arrowKeysWrapFocus="false"
  *    dataProvider="null"
  *    labelField="null"
  *    labelFunction="null"
@@ -158,7 +159,24 @@
     //--------------------------------------------------------------------------

     //----------------------------------
-    //  caretIndex
+    //  arrowKeysWrapFocus
+    //----------------------------------
+
+    /**
+     *  If true, using arrow keys to navigate within
+     *  the component wraps when it hits either end.
+     *
+     *  @default false
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public var arrowKeysWrapFocus:Boolean;
+
+    //----------------------------------
+    //  CaretIndex
     //----------------------------------

     mx_internal var _caretIndex:Number = NO_CARET;
@@ -833,7 +851,7 @@
     {
         // Subclasses must override this method to display the caret.
     }
-
+
     /**
      *  Returns true if the item at the index is selected.
      *
@@ -1022,7 +1040,7 @@
     }

     /**
-     *  Called when an item has been removed from this component.
+     *  Called when an item has been removed from this component.
      *  Selection and caret related properties are adjusted
      *  accordingly.
      *
@@ -1120,6 +1138,7 @@
         }

     }
+
 }

 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 18748
Author:   rfrishbe@adobe.com
Date:     2010-11-19T21:49:56.677661Z

Log Message:
-----------
Adding some extra comments to TextBase.

QE notes:
Doc notes:
Bugs: -
Reviewer: Evtim
Tests run: checkintests, mustella cyclone
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
+++ frameworks/projects/spark/src/spark/components/supportClasses/TextBase.as
@@ -630,7 +630,11 @@
 			if (newEstimates)
 			{
 				setEstimatedSize(cw, ch);
+
+				// re-measure with the new estimated size
 				UIComponentGlobals.layoutManager.validateClient(this, true);
+
+				// set estimated size back to what it was
 				setEstimatedSize(oldcw, oldch, false);
 			}
 		}


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

--- frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
+++ frameworks/projects/spark/src/spark/effects/animation/SimpleMotionPath.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2008 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.
 //
 ////////////////////////////////////////////////////////////////////////////////


RBL-8889: Credentials tab for running system shows [object Object] for field values

--- as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
+++ as3/xobjas3/src/com/rpath/xobj/XObjUtils.as
@@ -119,7 +119,8 @@

     public static function getClassName(obj:*):String
     {
-        var className:String = getQualifiedClassName(obj);
+        var className:String = (obj == null) ? null : getQualifiedClassName(obj);
+
         return className;
     }

@@ -206,10 +207,14 @@
         return result;
     }

+    public static var callCounter:int;
+
     public static function typeInfoForProperty(object:*, className:String, propName:String):XObjTypeInfo
     {
         var isArray:Boolean = false;
         var typeInfo:XObjTypeInfo;
+        var shouldCache:Boolean = true;
+        var isDynamic:Boolean;

         if (className == "Object" || className == "mx.utils::ObjectProxy")
             return new XObjTypeInfo();
@@ -219,6 +224,9 @@
             // Simple String doesn't have any properties
             return new XObjTypeInfo();
         }
+
+        if (!propName)
+            return new XObjTypeInfo();

         var propertyCacheKey:String = className + "." + propName;
         var arrayElementType:String;
@@ -236,15 +244,53 @@
             var typeDesc:* = DescribeTypeCache.describeType(object);
             var typeDescInfo:XML = typeDesc.typeDescription;

+            if (typeDescInfo.@isDynamic == 'true')
+            {
+                isDynamic = true;
+            }
+
             var accessorList:XMLList = typeDescInfo..accessor.(@name == propName);

             if (accessorList.length() > 0)
                 typeInfo.typeName = accessorList[0].@type.toString().replace( /::/, "." );

-            if (typeInfo.typeName == null || typeInfo.typeName == "")
+            if (!typeInfo.typeName)
             {
                 typeInfo.typeName = typeDescInfo..variable.(@name == propName).@type.toString().replace( /::/, "." );
-                arrayElementType = typeDescInfo..variable.(@name == propName).metadata.(@name == 'ArrayElementType').arg.@value.toString().replace( /::/, "." );
+
+                if (!typeInfo.typeName)
+                {
+                    // neither accessor nor variable. It's either a function or a dynamic property
+                    if (propName in object)
+                    {
+                        var val:* = object[propName];
+                        if (val is Function)
+                        {
+                            // can't handle these...
+                        }
+                        else
+                        {
+                            // must be dynamic property or simply an error (no such property)
+                            typeInfo.typeName = XObjUtils.getClassName(val);
+                            // don't cache if dynamic
+                            if (isDynamic)
+                                shouldCache = false;
+                        }
+                    }
+                    else
+                    {
+                        // bad request. no such property
+                    }
+                }
+                else
+                {
+                    arrayElementType = typeDescInfo..variable.(@name == propName).metadata.(@name == 'ArrayElementType').arg.@value.toString().replace( /::/, "." );
+                    if (!arrayElementType)
+                    {
+                        // maybe it's a specific desired type using xobj metadata marker
+                        arrayElementType = typeDescInfo..variable.(@name == propName).metadata.(@name == 'ElementType').arg.@value.toString().replace( /::/, "." );
+                    }
+                }
             }
             else
             {
@@ -286,7 +332,8 @@
             }

             // cache the result for next time
-            typePropertyCache[propertyCacheKey] = typeInfo;
+            if (shouldCache)
+                typePropertyCache[propertyCacheKey] = typeInfo;
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 19797
Author:   klin@adobe.com
Date:     2011-01-19T00:06:54.932970Z

Log Message:
-----------
Initial checkin of override default density mapping feature. Application and other classes delegate calculating runtimeDPI to a RuntimeDPIProvider class. Developers that wish to override how the runtimeDPI is calculated should subclass RuntimeDPIProvider and set it to the runtimeDPIProvider property on Application. Application actually calls DensityUtil.getRuntimeDPI() which creates the instance of the runtimeDPIProvider class and caches the runtimeDPI. I've also modified the compiler so that runtimeDPIProvider is recognized as a special attribute on Application. This checkin includes the PARB updates for changing DPI related properties and variables from ints to Numbers.

QE notes: Update tests
Doc notes: N/A
Bugs: SDK-28731
Reviewer: Evtim
Tests run: checkintests
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/mxml/builder/DocumentBuilder.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<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/framework/src/mx/utils/DensityUtil.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/BusyIndicator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/utils/MultiDPIBitmapSource.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/LabelItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/HSliderDataTip.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/primitives/BitmapImage.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/IconItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/tools/dependencychecker/frameworkSwcExceptionsList.txt</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/Application.as</path>

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

--- frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
+++ frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as
@@ -144,7 +144,7 @@
      *  @playerversion AIR 2.5
      *  @productversion Flex 4.5
      */
-    public function get applicationDPI():int
+    public function get applicationDPI():Number
     {
         return FlexGlobals.topLevelApplication.applicationDPI;
     }


Transferred from the Adobe Open Source Subversion Repository

Revision: 4748
Author:   dsubrama@adobe.com
Date:     2009-01-30T00:31:42.781368Z

Log Message:
-----------
Externalizing strings for the flex4 project. We now produce a resource bundle swc (flex4_rb.swc) that has all of the externalized strings for the flex4 project. We include 3 new bundles: components, layout and sparkEffects for the en_US locale. Other locales will come shortly.

QA: Yes, please doublecheck error messages are thrown with the correct error message.
Checkintests: Pass
Reviewer: Gordon

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/components.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LinearLayoutVector.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/FxComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="M">/flex/sdk/trunk/build.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/ArrayInterpolator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/effectClasses/FxAnimateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/FxAnimateShaderTransition.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/Animation.as</path>
<path kind="file" action="A">/flex/sdk/trunk/layout.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/effects/interpolation/NumberInterpolator.as</path>
<path kind="file" action="A">/flex/sdk/trunk/sparkEffects.properties</path>

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

--- frameworks/projects/spark/src/spark/effects/interpolation/MultiValueInterpolator.as
+++ frameworks/projects/spark/src/spark/effects/interpolation/MultiValueInterpolator.as
@@ -10,6 +10,16 @@
 ////////////////////////////////////////////////////////////////////////////////
 package mx.effects.interpolation
 {
+
+import mx.resources.IResourceManager;
+import mx.resources.ResourceManager;
+
+//--------------------------------------
+//  Other metadata
+//--------------------------------------
+
+[ResourceBundle("sparkEffects")]
+
 /**
  * ArrayInterpolator interpolates each element of start/end array
  * inputs separately, using another internal interpolator to do
@@ -31,6 +41,13 @@
     {
         elementInterpolator = value;
     }
+
+    /**
+     *  @private
+     *  Used for accessing localized Error messages.
+     */
+    private var resourceManager:IResourceManager =
+                                    ResourceManager.getInstance();

     // The internal per-element interpolator
     private var _elementInterpolator:IInterpolator;
@@ -68,7 +85,7 @@
         endValue:Object):Object
     {
         if (startValue.length != endValue.length)
-            throw new Error("Start/end arrays must be of equal length");
+            throw new Error(resourceManager.getString("sparkEffects", "arraysNotOfEqualLength"));
         var returnArray:Array = [];
         for (var i:int = 0; i < startValue.length; i++)
             returnArray[i] = _elementInterpolator.interpolate(fraction,


dammit. fix exports.

dammit. fix exports.

--- exporter/src/main/as/flump/xfl/XflMovie.as
+++ exporter/src/main/as/flump/xfl/XflMovie.as
@@ -3,12 +3,12 @@

 package flump.xfl {

-import com.threerings.util.XmlUtil;
-
 import flump.display.Movie;
 import flump.mold.KeyframeMold;
 import flump.mold.LayerMold;
 import flump.mold.MovieMold;
+
+import com.threerings.util.XmlUtil;

 public class XflMovie
 {


Changed Method for referenceing scene object in ScriptObject so as to be compactible with C++ source

--- DroneAnarchy/Resources/Scripts/GameObjects.as
+++ DroneAnarchy/Resources/Scripts/GameObjects.as
@@ -205,7 +205,7 @@

 	void SpawnExplosion()
 	{
-		Node@ explosionNode = scene_.CreateChild("ExplosionNode");
+		Node@ explosionNode = node.scene.CreateChild("ExplosionNode");
 		explosionNode.worldPosition = node.worldPosition;
 		explosionNode.CreateScriptObject(scriptFile, "SimpleExplosion");
 	}


Added "Properties" panel autoscroll to bottom and "Build" button flashing on first build.

--- demo/src/app/view/PropertiesViewMediator.as
+++ demo/src/app/view/PropertiesViewMediator.as
@@ -9,6 +9,8 @@

     import recastnavigation.recast.RCConfig;

+    import starling.animation.Tween;
+    import starling.core.Starling;
     import starling.events.Event;

     public class PropertiesViewMediator
@@ -19,6 +21,7 @@
         private var _guiModel:GUIModel;
         private var _soloMesh:SoloMesh;
         private var _propertiesView:PropertiesView;
+        private var _firstBuild:Boolean = true;

         public function PropertiesViewMediator()
         {
@@ -86,6 +89,17 @@
                 var meshInfo:MeshInfo = MeshInfoLibrary.instance.meshes[_propertiesView.meshPickerList.selectedIndex];
                 _soloMesh.setMesh(meshInfo);
             }
+            if (_firstBuild)
+            {
+                _propertiesView.scrollToPosition(0, _propertiesView.maxVerticalScrollPosition, 0.5);
+                Starling.current.juggler.removeTweens(_propertiesView.buildButton);
+                _propertiesView.buildButton.alpha = 1.0;
+                var tween:Tween = new Tween(_propertiesView.buildButton, 0.5);
+                tween.animate("alpha", 0.5)
+                tween.reverse = true;
+                tween.repeatCount = 0;
+                Starling.current.juggler.add(tween);
+            }
         }

         private function cellSizeSlider_changeHandler(event:Event):void
@@ -154,6 +168,12 @@
             if (_propertiesView.meshPickerList.selectedIndex != -1)
             {
                 _soloMesh.build();
+                if (_firstBuild)
+                {
+                    _firstBuild = false;
+                    Starling.current.juggler.removeTweens(_propertiesView.buildButton);
+                    _propertiesView.buildButton.alpha = 1.0;
+                }
             }
         }


temporary workaround for LinkableVariable dynamic object editing problem

--- WeaveCore/src/weave/core/LinkableVariable.as
+++ WeaveCore/src/weave/core/LinkableVariable.as
@@ -52,7 +52,7 @@
 				reportError("XML is not supported directly as a session state primitive type. Using String instead.");
 				_sessionStateType = String;
 			}
-			else
+			else if (sessionStateType != Object)
 			{
 				_sessionStateType = sessionStateType;
 			}
@@ -88,7 +88,24 @@
 		protected function sessionStateEquals(otherSessionState:*):Boolean
 		{
 			if (_sessionStateType == null) // if no type restriction...
-				return StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
+			{
+				var equal:Boolean = StandardLib.compareDynamicObjects(_sessionState, otherSessionState) == 0;
+
+				// BEGIN TEMPORARY SOLUTION
+				// special case if both are dynamic objects and pointers are equal - always assume they have been modified
+				// this is a temporary solution until detectChanges() is added
+				// (private copy of session state needs to be stored for comparison to public session state)
+				if (equal &&
+					typeof(_sessionState) == 'object' &&
+					typeof(otherSessionState) == 'object' &&
+					_sessionState !== null)
+				{
+					return false;
+				}
+				// END TEMPORARY SOLUTION
+
+				return equal;
+			}
 			return _sessionState == otherSessionState;
 		}


Actually, let's clear out the buddy's reference to us when we cut it loose.

--- tamarin-central/thane/flash/utils/Timer.as
+++ tamarin-central/thane/flash/utils/Timer.as
@@ -54,7 +54,10 @@
     public function stop () :void
     {
         // cut any current enqueued buddy adrift
-        _buddy = null;
+        if (_buddy != null) {
+            _buddy.budette = null;
+            _buddy = null;
+        }
     }

     public function reset () :void


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

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

 package mx.core
 {