fix Matrix4x4.copyFrom() and Matrix4x4.copyFromMatrix3D() to reset component flags

--- src/aerys/minko/type/math/Matrix4x4.as
+++ src/aerys/minko/type/math/Matrix4x4.as
@@ -199,6 +199,10 @@
 		public function copyFrom(matrix : Matrix4x4) : Matrix4x4
 		{
 			_matrix.copyFrom(matrix._matrix);
+			_invalidComponents = matrix._invalidComponents;
+			_translation.copyFrom(matrix._translation);
+			_rotation.copyFrom(matrix._rotation);
+			_scale.copyFrom(matrix._scale);

 			if (!_locked)
 				_changed.execute(this);
@@ -209,6 +213,7 @@
 		public function copyFromMatrix3D(matrix : Matrix3D) : Matrix4x4
 		{
 			_matrix.copyFrom(matrix);
+			_invalidComponents = COMPONENT_ALL;

 			if (!_locked)
 				_changed.execute(this);


remove Utils class, not needed anymore

remove Utils class, not needed anymore

--- src/com/google/analytics/core/Utils.as
+++ src/com/google/analytics/core/Utils.as
@@ -1,71 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.core
-{
-    /**
-     * Core utilities.
-     */
-    public class Utils
-    {
-
-        /**
-         * This function takes a raw string, and removes all leading and trailing whitespaces (space, new line, CR, tab).
-         * If the inner option is true, trim also whitespaces within the string.
-         */
-        public static function trim( raw:String, everything:Boolean = false ):String
-        {
-            if( raw == "" )
-            {
-                return "";
-            }
-
-            var whitespaces:Array = [" ","\n","\r","\t"];
-            var str:String = raw;
-
-            if( everything )
-            {
-                var i:int;
-                for( i=0; i<whitespaces.length && (str.indexOf( whitespaces[i] ) > -1); i++)
-                {
-                    str = str.split( whitespaces[i] ).join( "" );
-                }
-            }
-            else
-            {
-                var iLeft:int;
-                var iRight:int;
-
-                for( iLeft = 0; (iLeft < str.length) && (whitespaces.indexOf( str.charAt( iLeft ) ) > -1) ; iLeft++ )
-                    {
-                    }
-                str = str.substr( iLeft );
-
-                for( iRight = str.length - 1; (iRight >= 0) && (whitespaces.indexOf( str.charAt( iRight ) ) > -1) ; iRight-- )
-                    {
-                    }
-                str = str.substring( 0, iRight + 1 );
-            }
-
-            return str;
-        }
-
-    }
-}


Fix 556189: abcdump's usage message lists -dumppools, but the actual command is -pools (r=me)

--- utils/abcdump.as
+++ utils/abcdump.as
@@ -66,7 +66,7 @@
     " -abs Print the bytecode, but no information about the ABC",
     " -api Print the public API exposed by this abc/swf",
     " -mdversions Use in conjunction with -api when the abc/swf uses old-style versioning",
-    " -dumppools Print out the contents of the constant pools"
+    " -pools Print out the contents of the constant pools"
     ].join("\n");

     const TAB = "  "


Avoid the silent break when URLStream not yet open, but close is called on it. Closes #464.

--- src/flash/plupload/src/com/plupload/File.as
+++ src/flash/plupload/src/com/plupload/File.as
@@ -97,7 +97,7 @@
 		{
 			if (this.canUseSimpleUpload(this._settings)) {
 				this._fileRef.cancel();
-			} else if (this._urlStream.connected) {
+			} else if (this._urlStream && this._urlStream.connected) {
 				this._urlStream.close();
 			}
 		}


reduce release swf size

reduce release swf size

--- src/org/mangui/hls/demux/Nalu.as
+++ src/org/mangui/hls/demux/Nalu.as
@@ -11,22 +11,6 @@

     /** Constants and utilities for the H264 video format. **/
     public class Nalu {
-        /** H264 NAL unit names. **/
-        private static const NAMES : Array = ['Unspecified',                  // 0
-        'NDR',                          // 1
-        'Partition A',                  // 2
-        'Partition B',                  // 3
-        'Partition C',                  // 4
-        'IDR',                          // 5
-        'SEI',                          // 6
-        'SPS',                          // 7
-        'PPS',                          // 8
-        'AUD',                          // 9
-        'End of Sequence',              // 10
-        'End of Stream',                // 11
-        'Filler Data'// 12
-        ];
-
         /** Return an array with NAL delimiter indexes. **/
         public static function getNALU(nalu : ByteArray, position : uint) : Vector.<VideoFrame> {
             var units : Vector.<VideoFrame> = new Vector.<VideoFrame>();
@@ -76,6 +60,21 @@
             // Reset position and return results.
             CONFIG::LOGGING {
             if (HLSSettings.logDebug2) {
+                /** H264 NAL unit names. **/
+                const NAMES : Array = ['Unspecified',// 0
+                'NDR',                          // 1
+                'Partition A',                  // 2
+                'Partition B',                  // 3
+                'Partition C',                  // 4
+                'IDR',                          // 5
+                'SEI',                          // 6
+                'SPS',                          // 7
+                'PPS',                          // 8
+                'AUD',                          // 9
+                'End of Sequence',              // 10
+                'End of Stream',                // 11
+                'Filler Data'// 12
+                ];
                 if (units.length) {
                     var txt : String = "AVC: ";
                     for (var i : int = 0; i < units.length; i++) {
@@ -91,4 +90,4 @@
             return units;
         };
     }
-}+}


Changes to Padding constructor to allow for propogation of passed values in the same manner as CSS padding (pass just one number and it is for TRBL, pass two numbers and 1st is TB, second is RL etc etc)

Signed-off-by: Don-Duong Quach <810608f14f8c036b578d4e5c6fb9aa2c363c1b16@yahoo.com>

--- src/org/openPyro/core/Padding.as
+++ src/org/openPyro/core/Padding.as
@@ -13,12 +13,12 @@
 		private var _bottom:Number;
 		private var _left:Number;

-		public function Padding(top:Number=0, right:Number=0, bottom:Number=0, left:Number=0)
+		public function Padding(top:Number=0, right:Number=-1, bottom:Number=-1, left:Number=-1)
 		{
 			_top = top;
-			_right = right;
-			_bottom = bottom;
-			_left = left;
+			_right = right > -1 ? right : top;
+			_bottom = bottom > -1 ? bottom : top;
+			_left = left > -1 ? left : right;
 		}

 		public function get top():Number


remove warnings

remove warnings

--- src/org/mangui/osmf/plugins/HLSNetLoader.as
+++ src/org/mangui/osmf/plugins/HLSNetLoader.as
@@ -11,6 +11,8 @@
 	public class HLSNetLoader extends NetLoader
 	{
 	  private var _hls:HLS;
+    private var _connection:NetConnection;
+    private var _resource:URLResource;
 		public function HLSNetLoader(hls:HLS)
 		{
 			_hls = hls;
@@ -19,6 +21,8 @@

 		override protected function createNetStream(connection:NetConnection, resource:URLResource):NetStream
 		{
+      _connection = connection;
+      _resource = resource;
 			return _hls.stream;
 		}
   }


added CSVDataSource.prototype.keysAreUnique

--- WeaveJS/src/weavejs/data/source/CSVDataSource.as
+++ WeaveJS/src/weavejs/data/source/CSVDataSource.as
@@ -191,8 +191,20 @@
 				var keyTypeString:String = keyType.value;

 				keysArray = [];
-				(WeaveAPI.QKeyManager as QKeyManager).getQKeysAsync(keysCallbacks, keyType.value, keyStrings, null, keysArray);
-			}
+				(WeaveAPI.QKeyManager as QKeyManager).getQKeysAsync(keysCallbacks, keyType.value, keyStrings, handleUpdatedKeys, keysArray);
+			}
+		}
+
+		private function handleUpdatedKeys():void
+		{
+			_keysAreUnique = parsedRows ? keysArray.length == parsedRows.length : true;
+		}
+
+		private var _keysAreUnique:Boolean = true;
+
+		public function get keysAreUnique():Boolean
+		{
+			return _keysAreUnique;
 		}

 		/**


M TextureLoader is no longer final

M TextureLoader is no longer final

--- src/aerys/minko/type/loader/TextureLoader.as
+++ src/aerys/minko/type/loader/TextureLoader.as
@@ -18,7 +18,7 @@
 	import flash.utils.ByteArray;
 	import flash.utils.getQualifiedClassName;

-	public final class TextureLoader implements ILoader
+	public class TextureLoader implements ILoader
 	{
 		private var _progress			: Signal;
 		private var _error				: Signal;


Small bugfix on VListLayout making sure new renderers animate correctly.

--- src/org/openPyro/layout/VListLayout.as
+++ src/org/openPyro/layout/VListLayout.as
@@ -75,7 +75,7 @@

 			for(var i:int=0; i<itemsArray.length; i++){
 				var newRendererY:Number = itemsArray[i].itemIndex*_listBase.rowHeight;
-				if(newRendererY == itemsArray[i].renderer.y){
+				if(newRendererY == itemsArray[i].renderer.y && newlyCreatedRenderers.indexOf(itemsArray[i].renderer) == -1){
 					continue;
 				}
 				var renderer:DisplayObject = itemsArray[i].renderer;


Bugfix for the BitmapResource constructor not applying its cacheBitmap and cloneBitmap parameters

--- src/reprise/external/BitmapResource.as
+++ src/reprise/external/BitmapResource.as
@@ -33,6 +33,8 @@
 			cacheBitmap:Boolean = true, cloneBitmap:Boolean = true)
 		{
 			m_url = url;
+			m_cacheBitmap = cacheBitmap;
+			m_cloneBitmap = cloneBitmap;
 			m_checkPolicyFile = true;
 		}


Let's make this sort of work for now, although it needs a real implementation.

--- tamarin-central/thane/Timer.as
+++ tamarin-central/thane/Timer.as
@@ -61,17 +61,22 @@
     public function stop () :void
     {
         // TODO: Find or write a free Heap implementation with a full Remove operation
-        throw new Error("Not implemented");
+        trace("FIXME: Timer.stop() not really implemented!");
+        _expiration = 0;
     }

     public function reset () :void
     {
         // TODO: Find or write a free Heap implementation with a full Remove operation
-        throw new Error("Not implemented");
+        throw new Error("Timer.reset() Not implemented");
     }

     protected function expire () :void
     {
+        // TODO: hack while stop() not really implemented
+        if (_expiration == 0) {
+            return;
+        }
         _currentCount ++;
         dispatchEvent(new TimerEvent(TimerEvent.TIMER));
         if (_currentCount < _repeatCount) {


general fixes

general fixes

--- Arguments/src/components/AgoraMap.as
+++ Arguments/src/components/AgoraMap.as
@@ -503,7 +503,7 @@
 										var objectionPanel:ArgumentPanel = panelsHash[obj.ID];
 										if(!textLabel[obj.ID])
 											textLabel[obj.ID] = new spark.components.Label();
-										rectangle.graphics.beginFill(0xFF0000); // choosing the colour for the fill, here it is red
+										rectangle.graphics.beginFill(0xFFFFFF); // choosing the colour for the fill, here it is red
 										rectangle.graphics.drawRect(fvlspx,panelsHash[model.comments[0].ID].y,bottomObjection.x+300-fvlspx,fvlfpy+50-fvlspy); // (x spacing, y spacing, width, height)
 										//rectangle.graphics.drawRect(fvlspx,100,fvlspx,fvlfpy+50-fvlspy);
 										rectangle.graphics.endFill(); // not always needed but I like to put it in to end the fill


- bugfix: Fixes several issues with progress reporting in ResourceLoader

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

--- src/reprise/external/ResourceLoader.as
+++ src/reprise/external/ResourceLoader.as
@@ -78,11 +78,11 @@
 		*/
 		override public function addCommand(cmd:ICommand):void
 		{
+			super.addCommand(cmd);
 			if (cmd is IResource)
 			{
 				m_numResourcesToLoad++;
 			}
-			super.addCommand(cmd);
 		}

 		/**
@@ -92,7 +92,7 @@
 		{
 			// we only decrement the resourcesToLoad count, if the command wasn't executed
 			// yet. If if was, our statistics should not be distorted
-			if (cmd is IResource && m_currentCommands.contains(cmd))
+			if (cmd is IResource && m_pendingCommands.contains(cmd))
 			{
 				m_numResourcesToLoad--;
 			}
@@ -133,12 +133,17 @@
 		*/
 		public function progress():Number
 		{
-			var total:Number = m_numResourcesLoaded +
-				m_numResourcesToLoad + m_pendingCommands.length;
-			var current:Number = m_numResourcesLoaded;
-			return Math.round(current / (total / 100) +
-				(progressOfCurrentResources() / total));
-			return 0;
+			var total:Number = m_numResourcesLoaded + m_numResourcesToLoad;
+			var resourceCount : int = total;
+			for (var i : int = m_currentCommands.length; i--;)
+			{
+				if (m_currentCommands[i] is IResource)
+				{
+					total += IResource(m_currentCommands[i]).progress() / 100;
+					resourceCount++;
+				}
+			}
+			return total / resourceCount * 100;
 		}

 		/**
@@ -204,6 +209,10 @@
 		override protected function registerListenersForAsynchronousCommand(
 			cmd:IAsynchronousCommand):void
 		{
+			if (cmd is IResource)
+			{
+				m_numResourcesToLoad--;
+			}
 			super.registerListenersForAsynchronousCommand(cmd);
 			cmd.addEventListener(ResourceEvent.PROGRESS, resource_progress);
 		}
@@ -237,6 +246,8 @@
 			if (e.target is IResource)
 			{
 				m_numBytesLoaded += IResource(e.target).bytesLoaded();
+				m_numResourcesLoaded++;
+				dispatchEvent(new ResourceEvent(ResourceEvent.PROGRESS));
 			}
 			super.command_complete(e);
 		}


fixed error in geometryAsFeature()

fixed error in geometryAsFeature()

--- WeaveData/src/weave/utils/GeoJSON.as
+++ WeaveData/src/weave/utils/GeoJSON.as
@@ -223,7 +223,7 @@
 		private static function geometryAsFeature(obj:Object, id:* = undefined, _:* = undefined):Object
 		{
 			var feature:Object = {};
-			feature[T_FEATURE]
+			feature[P_TYPE] = feature[T_FEATURE];
 			if (id !== undefined)
 				feature[F_P_ID] = id;
 			feature[F_P_GEOMETRY] = obj;


避免使用 construct 属性

避免使用 construct 属性

--- as3/com/netease/protobuf/messageToString.as
+++ as3/com/netease/protobuf/messageToString.as
@@ -28,14 +28,14 @@
 		return s
 	}
 }
-
+import com.netease.protobuf.*
 function fieldToString(message:Object, descriptor:XML, name:String):String {
 	var hasField:String = "has" + name.charAt(0).toUpperCase() + name.substr(1)
 	if (descriptor.accessor.(@name == hasField).length() != 0 && !message[hasField]) {
 		return ""
 	}
 	var field:* = message[name]
-	if (field != null && field.constructor == Array && field.length == 0) {
+	if (field != null && !(field is Message || field is ExtensibleMessage) && field is Array && field.length == 0) {
 		return ""
 	}
 	return name + "=" + field + ";\n"


don't get classinfo for null objects because it will be the null string

--- 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;
     }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 21683
Author:   chiedozi@adobe.com
Date:     2011-07-21T23:18:41.186033Z

Log Message:
-----------
Initial checkin of SplitViewNavigator component and its skin.  This includes small alterations to various ViewTransition classes.

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/ViewNavigator.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/spark/src/spark/components/Application.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/manifest.xml</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/FlipViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorBase.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/spark/skins/mobile/SplitViewNavigatorSkin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/defaults.css</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/ViewNavigatorApplicationBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/transitions/SlideViewTransition.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/framework/src/mx/core/IVisualElementContainer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/4.y/frameworks/projects/mobiletheme/src/MobileThemeClasses.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/4.y/frameworks/projects/mobilecomponents/src/spark/components/SplitViewNavigator.as</path>

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

--- frameworks/projects/mobiletheme/src/MobileThemeClasses.as
+++ frameworks/projects/mobiletheme/src/MobileThemeClasses.as
@@ -42,6 +42,7 @@
 import spark.skins.mobile.SpinnerListScrollerSkin; SpinnerListScrollerSkin;
 import spark.skins.mobile.SpinnerListSkin; SpinnerListSkin;
 import spark.skins.mobile.SkinnableContainerSkin; SkinnableContainerSkin;
+import spark.skins.mobile.SplitViewNavigatorSkin; SplitViewNavigatorSkin;
 import spark.skins.mobile.StageTextAreaSkin; StageTextAreaSkin;
 import spark.skins.mobile.StageTextInputSkin; StageTextInputSkin;
 import spark.skins.mobile.TabbedViewNavigatorApplicationSkin; TabbedViewNavigatorApplicationSkin;


Transferred from the Adobe Open Source Subversion Repository

Revision: 9324
Author:   egeorgie@adobe.com
Date:     2009-08-14T22:04:23.671207Z

Log Message:
-----------
Fix bug: orientation/verticalAlign/horizontalAlign properties of TileLayout should not be bindable

Fix: remove [bindable] metadata, we were not dispatching events anyway.

QE notes: None
Doc notes: None
Bugs: SDK-22715
Reviewer: Hans
Tests run: build
Is noteworthy for integration: No

Modified Paths:
--------------
/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -451,7 +451,6 @@

     private var _horizontalAlign:String = HorizontalAlign.JUSTIFY;

-    [Bindable("propertyChange")]
     [Inspectable(category="General", enumeration="left,center,right,justify")]

     /**
@@ -495,7 +494,6 @@

     private var _verticalAlign:String = VerticalAlign.JUSTIFY;

-    [Bindable("propertyChange")]
     [Inspectable(category="General", enumeration="top,middle,bottom,justify")]

     /**
@@ -662,7 +660,6 @@

     private var _orientation:String = TileOrientation.ROWS;

-    [Bindable("propertyChange")]
     [Inspectable(category="General", enumeration="rows,columns", defaultValue="rows")]

     /**


If only node(s) selected, show their first component(s) for editing if possible.

--- Bin/Data/Scripts/Editor/EditorSceneWindow.as
+++ Bin/Data/Scripts/Editor/EditorSceneWindow.as
@@ -533,6 +533,27 @@
         if (sameType)
             editComponents = selectedComponents;
     }
+
+    // If just nodes selected, and no components, show the first component(s) for editing if possible
+    if (!selectedNodes.empty && selectedComponents.empty && selectedNodes[0].numComponents > 0)
+    {
+        ShortStringHash compType = selectedNodes[0].components[0].type;
+        bool sameType = true;
+        for (uint i = 1; i < selectedNodes.length; ++i)
+        {
+            if (selectedNodes[i].numComponents == 0 || selectedNodes[i].components[0].type != compType)
+            {
+                sameType = false;
+                break;
+            }
+        }
+
+        if (sameType)
+        {
+            for (uint i = 0; i < selectedNodes.length; ++i)
+                editComponents.Push(selectedNodes[i].components[0]);
+        }
+    }

     UpdateNodeWindow();
 }


Added .tga to the editor's file picker for textures/images, as it is supported by stb_image.

--- Bin/Data/Scripts/Editor/AttributeEditor.as
+++ Bin/Data/Scripts/Editor/AttributeEditor.as
@@ -874,8 +874,8 @@
 {
     // Fill resource picker data
     Array<String> fontFilters = {"*.ttf", "*.fnt", "*.xml"};
-    Array<String> imageFilters = {"*.png", "*.jpg"};
-    Array<String> textureFilters = {"*.dds", "*.png", "*.jpg", "*.bmp", "*.ktx", "*.pvr"};
+    Array<String> imageFilters = {"*.png", "*.jpg", "*.bmp", "*.tga"};
+    Array<String> textureFilters = {"*.dds", "*.png", "*.jpg", "*.bmp", "*.tga", "*.ktx", "*.pvr"};
     Array<String> soundFilters = {"*.wav","*.ogg"};
     Array<String> scriptFilters = {"*.as", "*.asc"};
     Array<String> materialFilters = {"*.xml", "*.material"};


Show map tool for data entry users

Show map tool for data entry users

--- collect-client/src/generated/flex/org/openforis/collect/model/proxy/UserProxy.as
+++ collect-client/src/generated/flex/org/openforis/collect/model/proxy/UserProxy.as
@@ -122,7 +122,7 @@
 		}

 		public function get canViewMap():Boolean {
-			return canViewAllRecords;
+			return hasRole(ROLE_VIEW) || hasEffectiveRole(ROLE_ENTRY);
 		}

 		public function get canRunSaikuAnalysis():Boolean {


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

--- frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.as
+++ frameworks/projects/mobilecomponents/src/spark/transitions/ViewTransitionBase.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: 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@1251423 13f79535-47bb-0310-9956-ffa450edef68

--- frameworks/projects/automation/src/mx/automation/delegates/controls/ListBaseAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/ListBaseAutomationImpl.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.automation.delegates.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5812
Author:   chaase@adobe.com
Date:     2009-03-31T18:34:56.901097Z

Log Message:
-----------
Fixed a bug where direct use of Animation failed because AnimationProperty was not setting up its internal keyframes with correct duration information, so the animation would skip immediately to the end.

Bugs: SDK-20356
QE Notes: spark/effects Mustella tests currently hosed, couldn't run test suite
Doc Notes: None
Reviewer: Jason
Testing: checkintests, Mustella effects tests could not be run (post-rename issues)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateColorInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/RotateInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/FadeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/AnimateShaderTransitionInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/ResizeInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimationProperty.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/Rotate3DInstance.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/supportClasses/MoveInstance.as</path>

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

--- frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
+++ frameworks/projects/spark/src/spark/effects/supportClasses/AnimateTransitionShaderInstance.as
@@ -237,7 +237,7 @@
             shader.data.to.input = bitmapTo;

             animationProperties = [
-                new AnimationProperty("progress", 0, 1)
+                new AnimationProperty("progress", 0, 1, duration)
             ];
             // auto-set width/height if exposed in shader
             if ("width" in shader.data)


implementing IVisToolGroup

implementing IVisToolGroup

--- WeaveUISpark/src/weave/utils/VisToolGroup.as
+++ WeaveUISpark/src/weave/utils/VisToolGroup.as
@@ -15,12 +15,12 @@

 package weave.utils
 {
-	import weave.api.core.ILinkableObject;
 	import weave.api.data.IColumnWrapper;
 	import weave.api.data.IDynamicKeyFilter;
 	import weave.api.data.IDynamicKeySet;
 	import weave.api.newLinkableChild;
 	import weave.api.registerLinkableChild;
+	import weave.api.ui.IVisToolGroup;
 	import weave.data.AttributeColumns.BinnedColumn;
 	import weave.data.AttributeColumns.ColorColumn;
 	import weave.data.AttributeColumns.DynamicColumn;
@@ -34,7 +34,7 @@
 	 * @author pkovac
 	 * @author adufilie
 	 */
-	public class VisToolGroup implements ILinkableObject
+	public class VisToolGroup implements IVisToolGroup
 	{
 		//TODO: create a corresponding Class that has, for each setting here,
 		// a corresponding LinkableHashMap containing possible choices


Transferred from the Adobe Open Source Subversion Repository

Revision: 20265
Author:   deeptika@adobe.com
Date:     2011-02-10T09:11:43.124922Z

Log Message:
-----------
Returning super class's automation value instead of returning null.

QE notes:
Doc notes:
Bugs: FLEXENT-1407 (Unable to record events on Checkbox inside ADG's custom item renderer)
Reviewer:
Tests run:
Is noteworthy for integration:

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

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/SWFLoaderAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/SWFLoaderAutomationImpl.as
@@ -157,7 +157,7 @@
 			if (loader.source is URLRequest)
 				return [ URLRequest(loader.source).url ];

-			return null;
+			return super.automationValue;
 		}

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


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 20645
Author:   smgilson@adobe.com
Date:     2011-03-07T18:55:33.807951Z

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

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/StyleableTextField.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/Skin.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableContainerBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ItemRenderer.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as</path>

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

--- frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as
+++ frameworks/projects/mobilecomponents/src/spark/components/supportClasses/TextInputOperation.as
@@ -31,6 +31,13 @@
     //
     //--------------------------------------------------------------------------

+    /**
+     *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+     */
     public function TextInputOperation():void
     {
         super(null);


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

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


allow as bead of view as well as component

--- frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as
+++ frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/SolidBackgroundBead.as
@@ -18,11 +18,13 @@
 ////////////////////////////////////////////////////////////////////////////////
 package org.apache.flex.html.beads
 {
+    import flash.display.Sprite;
 	import flash.display.Graphics;

 	import org.apache.flex.core.IBead;
+    import org.apache.flex.core.IBeadView;
 	import org.apache.flex.core.IStrand;
-	import org.apache.flex.core.UIBase;
+	import org.apache.flex.core.IUIBase;
 	import org.apache.flex.core.ValuesManager;
 	import org.apache.flex.events.Event;
 	import org.apache.flex.events.IEventDispatcher;
@@ -52,6 +54,8 @@

 		private var _strand:IStrand;

+        private var host:IUIBase;
+
         /**
          *  @copy org.apache.flex.core.IBead#strand
          *
@@ -63,15 +67,20 @@
 		public function set strand(value:IStrand):void
 		{
 			_strand = value;
-            IEventDispatcher(value).addEventListener("heightChanged", changeHandler);
-            IEventDispatcher(value).addEventListener("widthChanged", changeHandler);
+            if (value is IUIBase)
+                host = IUIBase(value);
+            else if (value is IBeadView)
+                host = IUIBase(IBeadView(value).host);
+
+            IEventDispatcher(host).addEventListener("heightChanged", changeHandler);
+            IEventDispatcher(host).addEventListener("widthChanged", changeHandler);

-			var bgColor:Object = ValuesManager.valuesImpl.getValue(value, "background-color");
+			var bgColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
 			if( bgColor != null ) {
-				backgroundColor = uint(bgColor);
+				backgroundColor = ValuesManager.valuesImpl.convertColor(bgColor);
 			}

-			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(value, "opacity");
+			var bgAlpha:Object = ValuesManager.valuesImpl.getValue(host, "opacity");
 			if( bgAlpha != null ) {
 				opacity = Number(bgAlpha);
 			}
@@ -129,8 +138,7 @@

 		private function changeHandler(event:Event):void
 		{
-            var host:UIBase = UIBase(_strand);
-            var g:Graphics = host.graphics;
+            var g:Graphics = Sprite(host).graphics;
             var w:Number = host.width;
             var h:Number = host.height;


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

--- frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridGroupRenderer.as
+++ frameworks/projects/advancedgrids/src/mx/controls/olapDataGridClasses/OLAPDataGridGroupRenderer.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.controls.olapDataGridClasses
 {


call showLogo() at the very begining of Viewport.render

--- src/aerys/minko/render/Viewport.as
+++ src/aerys/minko/render/Viewport.as
@@ -332,6 +332,8 @@
 		 */
 		public function render(scene : IScene) : void
 		{
+			showLogo();
+
 			if (_visitors && _visitors.length != 0)
 			{
 				var time : Number = getTimer();
@@ -360,7 +362,6 @@
 			}

 			Factory.sweep();
-			showLogo();
 		}

 		public function showLogo() : void


coupla teaks

coupla teaks


use upstream modification instead to solve conflicts

--- bin/Data/Scripts/Editor/AttributeEditor.as
+++ bin/Data/Scripts/Editor/AttributeEditor.as
@@ -1200,7 +1200,8 @@
 {
     for (uint i = 0; i < resourcePickers.length; ++i)
     {
-        if (resourcePickers[i].type.value == resourceType.value)
+        // TODO: refactor to use dictionary instead
+        if (resourceType == resourcePickers[i].type)
             return resourcePickers[i];
     }
     return null;


Resolving conflicts in merge

Resolving conflicts in merge

--- src/heartattacks/doodads/Player.as
+++ src/heartattacks/doodads/Player.as
@@ -38,7 +38,6 @@

 			this.moveBy(Math.sin(this.heading) * .8, Math.cos(this.heading) * -.8, "level");
 		}
-
 	}

 }


updating TestRunner's base class from Sprite to MovieClip

--- as3/src/asunit/textui/TestRunner.as
+++ as3/src/asunit/textui/TestRunner.as
@@ -2,7 +2,7 @@
     import asunit.framework.Test;
     import asunit.framework.TestResult;

-    import flash.display.Sprite;
+    import flash.display.MovieClip;
     import flash.display.StageAlign;
     import flash.display.StageScaleMode;
     import flash.events.Event;
@@ -49,7 +49,7 @@
     *   @see asunit.textui.AirRunner
     *   @see asunit.textui.XMLResultPrinter
     **/
-    public class TestRunner extends Sprite {
+    public class TestRunner extends MovieClip {
         public static const SUCCESS_EXIT:int   = 0;
         public static const FAILURE_EXIT:int   = 1;
         public static const EXCEPTION_EXIT:int = 2;


Apache license 2.0 added.

Apache license 2.0 added.

--- tui_flashdevelop4_2_1__tuioAS3_0_8__AIR2_6/lib/touchAll/demos/niftySynthTouchDemo/NiftySynthTouchDemo.as
+++ tui_flashdevelop4_2_1__tuioAS3_0_8__AIR2_6/lib/touchAll/demos/niftySynthTouchDemo/NiftySynthTouchDemo.as
@@ -1,3 +1,20 @@
+/*
+ * Tangible User Interfacer (former TouchAll) demo.
+ *
+ * Copyright 2016 Gonçalo Amador <g.n.p.amador@gmail.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package touchAll.demos.niftySynthTouchDemo
 {
 	//import flash.ui.*;
@@ -39,4 +56,4 @@
 			ns = new NiftySynth(stage);
 		}
 	}
-}+}


Issue #225: Apply Viewer styles to LabelField links.

--- src/com/esri/viewer/managers/UIManager.as
+++ src/com/esri/viewer/managers/UIManager.as
@@ -311,6 +311,11 @@
             cssStyleDeclarationPopUpRendererLink.setStyle("linkActiveColor", titleColor);
             cssStyleDeclarationPopUpRendererLink.setStyle("linkNormalColor", textColor);
             cssStyleDeclarationPopUpRendererLink.setStyle("linkHoverColor", titleColor);
+
+            var cssStyleDeclarationLabelFieldLink:CSSStyleDeclaration = topLevelStyleManager.getStyleDeclaration("com.esri.ags.skins.fieldClasses.LabelField");
+            cssStyleDeclarationLabelFieldLink.setStyle("linkActiveColor", titleColor);
+            cssStyleDeclarationLabelFieldLink.setStyle("linkNormalColor", textColor);
+            cssStyleDeclarationLabelFieldLink.setStyle("linkHoverColor", titleColor);
         }

         var cssStyleDeclarationContentNavigator:CSSStyleDeclaration = topLevelStyleManager.getStyleDeclaration("com.esri.ags.components.ContentNavigator");


Add Base64 source property to <picturemarkersymbol/>.

--- src/com/esri/viewer/utils/SymbolParser.as
+++ src/com/esri/viewer/utils/SymbolParser.as
@@ -22,6 +22,10 @@
 import com.esri.ags.symbols.SimpleMarkerSymbol;
 import com.esri.ags.symbols.Symbol;

+import flash.utils.ByteArray;
+
+import mx.utils.Base64Decoder;
+
 public class SymbolParser
 {
     public function parseSymbol(symbolXML:XML):Symbol
@@ -138,7 +142,18 @@

     public function parsePictureMarkerSymbol(pmsXML:XML):PictureMarkerSymbol
     {
-        const url:String = pmsXML.@url;
+        const url:String = pmsXML.@url[0];
+        const source:String = pmsXML.@source[0];
+
+        var sourceData:ByteArray;
+        if (source)
+        {
+            var decoder:Base64Decoder = new Base64Decoder();
+            decoder.decode(source);
+            sourceData = decoder.toByteArray();
+        }
+
+        const pictureSource:Object = sourceData ? sourceData : url;

         const parsedHeight:Number = parseFloat(pmsXML.@height[0]);
         const parsedWidth:Number = parseFloat(pmsXML.@width[0]);
@@ -152,7 +167,7 @@
         const yOffset:Number = !isNaN(parsedYOffset) ? parsedYOffset : 0;
         const angle:Number = !isNaN(parsedAngle) ? parsedAngle : 0;

-        return new PictureMarkerSymbol(url, width, height, xOffset, yOffset, angle);
+        return new PictureMarkerSymbol(pictureSource, width, height, xOffset, yOffset, angle);
     }

     public function parseSimpleLineSymbol(slsXML:XML):SimpleLineSymbol


remove Version class

remove Version class

--- src/com/google/analytics/utils/Version.as
+++ src/com/google/analytics/utils/Version.as
@@ -1,317 +0,0 @@
-/*
- * Copyright 2008 Adobe Systems Inc., 2008 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * Contributor(s):
- *   Zwetan Kjukov <zwetan@gmail.com>.
- *   Marc Alcaraz <ekameleon@gmail.com>.
- */
-
-package com.google.analytics.utils
-    {
-
-    /**
-     * A basic Version class which is composed by four fields: major, minor, build and revision.
-     */
-    public class Version
-        {
-
-        private var _major:uint;
-        private var _minor:uint;
-        private var _build:uint;
-        private var _revision:uint;
-
-        private var _maxMajor:uint    = 0xf;
-        private var _maxMinor:uint    = 0xf;
-        private var _maxBuild:uint    = 0xff;
-        private var _maxRevision:uint = 0xffff;
-
-        private var _separator:String = ".";
-
-        /**
-         * @private
-         */
-        private function getFields():int
-            {
-            var f:int = 4;
-
-            if( revision == 0 )
-                {
-                f--;
-                }
-
-            if( (f == 3) && (build == 0) )
-                {
-                f--;
-                }
-
-            if( (f == 2) && (minor == 0) )
-                {
-                f--;
-                }
-
-            return f; //we always have a minimum field of 1, the major field
-            }
-
-
-        /**
-         * Creates a new Version instance.
-         * @param major The major value of the version.
-         * @param minor The minor value of the version.
-         * @param build The build value of the version.
-         * @param revision The revision value of the version.
-         */
-        public function Version( major:uint = 0,
-                                 minor:uint = 0,
-                                 build:uint = 0,
-                                 revision:uint = 0 )
-            {
-
-            if( (major > _maxMajor) && (minor == 0)
-                                    && (build == 0)
-                                    && (revision == 0) )
-                {
-                var v:Version = Version.fromNumber( major );
-                major    = v.major;
-                minor    = v.minor;
-                build    = v.build;
-                revision = v.revision;
-                }
-
-            this.major    = major;
-            this.minor    = minor;
-            this.build    = build;
-            this.revision = revision;
-
-            }
-
-        /**
-         * Constructs a Version object from a string.
-         */
-        public static function fromString( value:String = "", separator:String = "." ):Version
-            {
-            var v:Version = new Version();
-
-            if( (value == "") || (value == null) )
-                {
-                return v;
-                }
-
-            if( value.indexOf( separator ) > -1 )
-                {
-                var values:Array = value.split( separator );
-                v.major    = parseInt( values[0] );
-                v.minor    = parseInt( values[1] );
-                v.build    = parseInt( values[2] );
-                v.revision = parseInt( values[3] );
-                }
-            else
-                {
-                v.major = parseInt( value );
-                }
-
-            return v;
-            }
-
-        /**
-         * Constructs a Version object from a number.
-         * If the number is zero or negative, or is NaN or Infity returns an empty version object.
-         */
-        public static function fromNumber( value:Number = 0 ):Version
-            {
-            var v:Version = new Version();
-
-            if( isNaN(value) || (value == 0) || (value < 0)
-                || (value == Number.MAX_VALUE)
-                || (value == Number.POSITIVE_INFINITY)
-                || (value == Number.NEGATIVE_INFINITY) )
-                {
-                return v;
-                }
-
-            //this is like the inverse of valueOf
-            //(major << 28) | (minor << 24) | (build << 16) | revision
-            //but be carefull to NOT preserve the bit sign, so use >>> instead of >>
-            v.major    = (value >>> 28);
-            v.minor    = (value & 0x0f000000) >>> 24;
-            v.build    = (value & 0x00ff0000) >>> 16;
-            v.revision = (value & 0x0000ffff);
-
-            return v;
-            }
-
-        /**
-         * Indicates the major value of this version.
-         */
-        public function get major():uint
-            {
-            return _major;
-            }
-
-        /**
-         * @private
-         */
-        public function set major( value:uint ):void
-            {
-            _major = Math.min( value, _maxMajor );
-            }
-
-        /**
-         * Indicates the minor value of this version.
-         */
-        public function get minor():uint
-            {
-            return _minor;
-            }
-
-        /**
-         * @private
-         */
-        public function set minor( value:uint ):void
-            {
-            _minor = Math.min( value, _maxMinor );
-            }
-
-        /**
-         * Indicates the build value of this version.
-         */
-        public function get build():uint
-            {
-            return _build;
-            }
-
-        /**
-         * @private
-         */
-        public function set build( value:uint ):void
-            {
-            _build = Math.min( value, _maxBuild );
-            }
-
-        /**
-         * Indicates the revision value of this version.
-         */
-        public function get revision():uint
-            {
-            return _revision;
-            }
-
-        /**
-         * @private
-         */
-        public function set revision( value:uint ):void
-            {
-            _revision = Math.min( value, _maxRevision );
-            }
-
-        /**
-         * We don't really need an equals method as we override the valueOf, we can do something as
-         *

-         * var v1:Version = new Version( 1,0,0,0 );
-         * var v2:Version = new Version( 1,0,0,0 );
-         * trace( int(v1) == int(v2) ); //true
-         *

-         * A cast to Number/int force the valueOf, not ideal but sufficient, and the same for any other operators.
-         * But as we keep IEquatable for now, then we have no reason to not use it.
-         */
-        public function equals( o:* ):Boolean
-            {
-            if( !(o is Version) )
-                {
-                return false;
-                }
-
-            if( (o.major == major) &&
-                (o.minor == minor) &&
-                (o.build == build) &&
-                (o.revision == revision) )
-                {
-                return true;
-                }
-
-            return false;
-            }
-
-        /**
-         * Returns the primitive value of the object.
-         * @return the primitive value of the object.
-         */
-        public function valueOf():uint
-            {
-            /* 0xF F FF FFFF
-            */
-            return (major << 28) | (minor << 24) | (build << 16) | revision;
-            }
-
-        /**
-         * Returns a string representation of the object.
-         * By default, the format returned will include only the fields greater than zero
-         *

-         * var v:Version = new Version( 1, 5 );
-         * trace( v ); // "1.5"
-         *

-         * note :
-         * the fields parameter allow you to force or limit the output format
-         *

-         * var v:Version = new Version( 1, 5 );
-         * trace( v.toString( 1 ) ); // "1"
-         * trace( v.toString( 4 ) ); // "1.5.0.0"
-         *

-         *
format :

-         *
major.minor.build.revision

-         *
major.minor.build

-         *
major.minor

-         *
major

-         */
-        public function toString( fields:int = 0 ):String
-            {
-            var arr:Array;
-
-            if( (fields <= 0) || (fields > 4) )
-                {
-                fields = getFields(); //get the default fields
-                }
-
-            switch( fields )
-                {
-                case 1 :
-                    {
-                    arr = [ major ];
-                    break;
-                    }
-                case 2 :
-                    {
-                    arr = [ major, minor ];
-                    break;
-                    }
-
-                case 3:
-                    {
-                    arr = [ major, minor, build ];
-                    break;
-                    }
-
-                case 4:
-                default:
-                    {
-                        arr = [ major, minor, build, revision ];
-                    }
-                }
-
-            return arr.join( _separator );
-            }
-
-        }
-
-    }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11490
Author:   gruehle@adobe.com
Date:     2009-11-06T01:34:58.836883Z

Log Message:
-----------
Add accentColor style. This color is used to tint "emphasized" buttons, and as the color for slider track highlighting.

QE notes: Tests should be added for this style.
Doc notes: ASDoc added, but should be reviewed.
Bugs: SDK-23450, SDK-23451
Reviewer: Ryan
Tests run: checkintests, components/Slider, components/Alert
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/SliderTrackHighlightSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/DefaultButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Button.as
+++ frameworks/projects/mx/src/mx/controls/Button.as
@@ -117,6 +117,18 @@
 include "../styles/metadata/PaddingStyles.as"
 include "../styles/metadata/SkinStyles.as"
 include "../styles/metadata/TextStyles.as"
+
+/**
+ *  Color applied to the button when the emphasized flag is true.
+ *
+ *  @default #0099FF
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 1.5
+ *  @productversion Flex 4
+ */
+[Style(name="accentColor", type="uint", format="Color", inherit="yes", theme="spark")]

 /**
  *  Color of focus ring when the component is in focus


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

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

--- frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as
+++ frameworks/projects/automation_spark/src/spark/automation/delegates/components/SparkComboBoxAutomationImpl.as
@@ -0,0 +1,253 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 spark.automation.delegates.components
+{
+	import flash.display.DisplayObject;
+	import flash.events.Event;
+	import flash.events.KeyboardEvent;
+	import flash.events.TextEvent;
+	import flash.ui.Keyboard;
+
+	import mx.automation.Automation;
+	import mx.automation.IAutomationObject;
+	import mx.automation.IAutomationObjectHelper;
+	import mx.automation.events.AutomationRecordEvent;
+	import mx.automation.events.TextSelectionEvent;
+	import mx.core.mx_internal;
+
+	import spark.automation.delegates.components.supportClasses.SparkDropDownListBaseAutomationImpl;
+	import spark.components.ComboBox;
+	import spark.events.TextOperationEvent;
+
+	use namespace mx_internal;
+
+	[Mixin]
+
+	/**
+	 *
+	 *  Defines methods and properties required to perform instrumentation for the
+	 *  ComboBox control.
+	 *
+	 *  @see spark.components.ComboBox
+	 *
+	 *
+	 *  @langversion 3.0
+	 *  @playerversion Flash 10
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 4
+	 */
+
+	public class SparkComboBoxAutomationImpl extends SparkDropDownListBaseAutomationImpl
+	{
+		include "../../../core/Version.as";
+
+		//--------------------------------------------------------------------------
+		//
+		//  Class methods
+		//
+		//--------------------------------------------------------------------------
+
+		/**
+		 *  Registers the delegate class for a component class with automation manager.
+		 *
+		 *  @param root The SystemManger of the application.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public static function init(root:DisplayObject):void
+		{
+			Automation.registerDelegateClass(spark.components.ComboBox, SparkComboBoxAutomationImpl);
+		}
+
+		/**
+		 *  Constructor.
+		 * @param obj ComboBox object to be automated.
+		 *
+		 *  @langversion 3.0
+		 *  @playerversion Flash 9
+		 *  @playerversion AIR 1.1
+		 *  @productversion Flex 3
+		 */
+		public function SparkComboBoxAutomationImpl(obj:spark.components.ComboBox)
+		{
+			super(obj);
+			obj.textInput.addEventListener(KeyboardEvent.KEY_DOWN, textKeyDownHandler, false, 0 , true);
+			obj.textInput.addEventListener(AutomationRecordEvent.RECORD,
+				textInput_recordHandler, false, 0, true)
+		}
+
+		/**
+		 *  @private
+		 *  storage for the owner component
+		 */
+		protected function get sparkComboBox():spark.components.ComboBox
+		{
+			return uiComponent as spark.components.ComboBox;
+
+		}
+
+		/**
+		 * @private
+		 * Keyboard events like up/down/page_up/page_down/enter are
+		 * recorded here. They are not recorded by textInput control but
+		 * we require them to be recorded.
+		 */
+		private function textKeyDownHandler(event:KeyboardEvent):void
+		{
+			// we do not record key events with modifiers
+			// open/close events with ctrl key are recorded seperately.
+			if (event.ctrlKey)
+				return;
+			// record keys which are of used for navigation in the dropdown list
+			if (event.keyCode == Keyboard.UP ||
+				event.keyCode == Keyboard.DOWN ||
+				event.keyCode == Keyboard.PAGE_UP ||
+				event.keyCode == Keyboard.PAGE_DOWN ||
+				event.keyCode == Keyboard.ESCAPE ||
+				event.keyCode == Keyboard.ENTER ||
+				event.keyCode == Keyboard.HOME ||
+				event.keyCode == Keyboard.END
+			)
+
+				recordAutomatableEvent(event);
+		}
+
+		/**
+		 *  @private
+		 *  textInput is a automationComposite. Hence its own recording is skipped by AT.
+		 *  We need to handle this specifically.
+		 */
+		private function textInput_recordHandler(event:AutomationRecordEvent):void
+		{
+			if(event.automationObject == sparkComboBox.textInput)
+			{
+				var re:Object = event.replayableEvent;
+				if (re is KeyboardEvent && (re.keyCode == Keyboard.ENTER || re.keyCode == Keyboard.ESCAPE))
+					return;
+				recordAutomatableEvent(event.replayableEvent);
+			}
+		}
+
+		/**
+		 * @private
+		 * Replays a text event by delegating responsibility to the text input.,
+		 */
+		override public function replayAutomatableEvent(event:Event):Boolean
+		{
+			var help:IAutomationObjectHelper = Automation.automationObjectHelper;
+			var ke:KeyboardEvent;
+			if (event is KeyboardEvent)
+			{
+				var kbEvent:KeyboardEvent = KeyboardEvent(event);
+				var keyCode:int = kbEvent.keyCode;
+				switch (keyCode)
+				{
+					case Keyboard.BACKSPACE:
+					{
+						// Processing of Key events in EditManager looks for charCode in case of
+						// Backspace but we are not storing charCode in our scripts. So redispatching the events
+						// after setting char code for Backspace.
+						// AutomationManager's replayKeyBoardEvent also doesn't help because we do not consider
+						// charCode there also.
+						ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+						ke.charCode = keyCode;
+						ke.keyCode = keyCode;
+						ke.ctrlKey = kbEvent.ctrlKey;
+						ke.shiftKey = kbEvent.shiftKey;
+						ke.altKey = kbEvent.altKey;
+
+						sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+
+						ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+						ke.charCode = keyCode;
+						ke.keyCode = keyCode;
+						ke.ctrlKey = kbEvent.ctrlKey;
+						ke.shiftKey = kbEvent.shiftKey;
+						ke.altKey = kbEvent.altKey;
+
+						sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+						return true;
+					}
+					case Keyboard.DELETE:
+					{
+						return sparkComboBox.textInput.textDisplay.replayAutomatableEvent(event);
+					}
+					default:
+					{
+						break;
+					}
+				}
+				return help.replayKeyboardEvent(sparkComboBox.textInput.textDisplay,
+					KeyboardEvent(event));
+			}
+			else if (event is TextEvent)
+			{
+				// Instead of replaying it on textDisplay, we handle it explicitly here
+				// because Change event need not be fired in this case like we do in RichEditableText.
+				// Firing that would change the anchor and active positions which causes problem due
+				// to auto-filling behavior of ComboBox.
+				var changeEvent:TextOperationEvent = new TextOperationEvent(TextOperationEvent.CHANGE);
+
+				// need to set focus in order for the uirichEditableText to behave correctly
+				sparkComboBox.textInput.textDisplay.setFocus();
+
+				var textEvent:TextEvent = TextEvent(event);
+				var text:String = textEvent.text;
+				var n:int = textEvent.text.length;
+
+				for (var i:uint = 0; i < n; i++)
+				{
+					ke = new KeyboardEvent(KeyboardEvent.KEY_DOWN);
+					ke.charCode = text.charCodeAt(i);
+					ke.keyCode = text.charCodeAt(i);
+					sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+					var pos:int ;
+
+					// we dont need any special handling on the string.
+					// replaying the key board events takes care of the needed.
+					// however when there is a line feed or carriage return , we need to handle it specially
+					if((text.charAt(i) == "\n") || (text.charAt(i) == "\r"))
+						sparkComboBox.textInput.textDisplay.insertText(text.charAt(i));
+
+
+					var te:TextEvent = new TextEvent(TextEvent.TEXT_INPUT);
+					te.text = String(text.charAt(i));
+					// ref. http://bugs.adobe.com/jira/browse/FLEXENT-838 - charcode vs charAt
+					sparkComboBox.textInput.textDisplay.dispatchEvent(te);
+
+					ke = new KeyboardEvent(KeyboardEvent.KEY_UP);
+					ke.charCode = text.charCodeAt(i);
+					ke.keyCode = text.charCodeAt(i);
+					sparkComboBox.textInput.textDisplay.dispatchEvent(ke);
+				}
+			}
+			else if (event is TextSelectionEvent)
+			{
+				var replayer:IAutomationObject =
+					sparkComboBox.textInput as IAutomationObject;
+				return (replayer ? replayer.replayAutomatableEvent(event): false);
+			}
+			return super.replayAutomatableEvent(event);
+		}
+
+		/**
+		 * @private
+		 */
+		override protected function keyDownHandler(event:KeyboardEvent):void
+		{
+
+		}
+	}
+}


set max heap size when launching the compiler

--- src/ASConfigC.as
+++ src/ASConfigC.as
@@ -842,6 +842,7 @@
 				this._compilerArgs.unshift("-Dflexlib=" + escapePath(frameworkPath));
 				this._compilerArgs.unshift("-Dflexcompiler=" + escapePath(this._sdkHome));
 			}
+			this._compilerArgs.unshift("-Xmx512m");
 			try
 			{
 				var command:String = escapePath(this._javaExecutable) + " " + this._compilerArgs.join(" ");


HLSNetStream: avoid spurious buffering reporting when reaching End Of Stream

--- src/org/mangui/hls/stream/HLSNetStream.as
+++ src/org/mangui/hls/stream/HLSNetStream.as
@@ -183,8 +183,8 @@
                             seek(-1);
                         }
                         return;
-                    } else if (buffer <= 0.1) {
-                        // playing and buffer <= 0.1 and not EOS, pause playback
+                    } else if (buffer <= 0.1 && !reachedEnd) {
+                        // playing and buffer <= 0.1 and not reachedEnd and not EOS, pause playback
                         super.pause();
                         // low buffer condition and play state. switch to play buffering state
                         _setPlaybackState(HLSPlayStates.PLAYING_BUFFERING);


Add basic idle animation.

Add basic idle animation.

--- src/PlayState.as
+++ src/PlayState.as
@@ -181,7 +181,7 @@
       player.jumpVelocity.y = -420;

       // Animations.
-      player.addAnimation('idle', [7]);
+      player.addAnimation('idle', [12,13,14], 12);
       player.addAnimation('run', [0,1,2,3,4,5,6,7,8,9,10,11], 12);
       player.addAnimation('jump', [3]);
     }


More solid support for game input devices

--- com/zehfernando/input/UniversalBinder.as
+++ com/zehfernando/input/UniversalBinder.as
@@ -37,7 +37,7 @@

 		public function UniversalBinder(__stage:Stage) {
 			stage = __stage;
-			gameInput = new GameInput();
+			if (GameInput.isSupported) gameInput = new GameInput();
 			bindings = new Vector.<Binding>();
 			commandsActivations = {};

@@ -166,8 +166,10 @@
 				stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);

 				// Starts listening to device addition events
-				gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
-                gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
+				if (gameInput != null) {
+					gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
+					gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
+				}

 				_isStarted = true;
@@ -181,8 +183,10 @@
 				stage.removeEventListener(KeyboardEvent.KEY_UP, onKeyUp, false);

 				// Stops listening to device addition events
-				gameInput.removeEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
-                gameInput.removeEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
+				if (gameInput != null) {
+					gameInput.removeEventListener(GameInputEvent.DEVICE_ADDED, onGameInputDeviceAdded);
+					gameInput.removeEventListener(GameInputEvent.DEVICE_REMOVED, onGameInputDeviceRemoved);
+				}

 				_isStarted = false;
 			}


Added EquationCompiler.includeConstant().

Change-Id: Idb26cef0b01e985ef365b4d2cf71ffd6d3e82524

--- WeaveData/src/weave/compiler/EquationCompiler.as
+++ WeaveData/src/weave/compiler/EquationCompiler.as
@@ -110,6 +110,16 @@
 						functions[methodName] = library[methodName];
 				}
 			}
+		}
+
+		/**
+		 * This function will add a variable to the constants available in equations.
+		 * @param constantName The name of the constant.
+		 * @param constantValue The value of the constant.
+		 */
+		public static function includeConstant(constantName:String, constantValue:*):void
+		{
+			constants[constantName] = constantValue;
 		}

 		/**
@@ -203,7 +213,7 @@

 			// Save pointers to impure functions so the compiler will not reduce
 			// them to constants when all their parameters are constants.
-			impureFunctions[Math.random] = true;
+			impureFunctions[Math['random']] = true;
 		}

 		/**
@@ -339,7 +349,11 @@
 						}
 						// replace the function token, '(', and ')' tokens with a compiled function call
 						// if the function is the variableGetter, compileFunction() should not attempt to simplify to a constant.
-						var func:Function = (funcToken == GET_FUNCTION_NAME) ? variableGetter : functions[funcToken] as Function;
+						var func:Function;
+						if (funcToken == GET_FUNCTION_NAME)
+							func = variableGetter;
+						else
+							func = functions[funcToken] as Function;
 						tokens.splice(open - 1, 3, compileFunction(funcToken, func, compiledParams, funcToken != GET_FUNCTION_NAME && evaluateToConstantIfPossible));
 					}
 					else // These parentheses do not correspond to a function call.


Change 20080724-maxcarlson-s by maxcarlson@Roboto on 2008-07-24 15:07:07 PDT
    in /Users/maxcarlson/openlaszlo/trunk-clean
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: Fix onmouseover/out/onmousedragin/out events in swf9

Bugs Fixed: LPP-6677 - Inconsistent behavior between SWF8 and SWF9 in Input Devices example 8

Technical Reviewer: promanik
QA Reviewer: hminsky

Details: Only send onmouseover/out on the sprite the mouse went down on, then send onmousedragin/out events as usual.

Tests: See LPP-6677 - http://localhost:8080/trunk-clean/docs/src/developers/programs/input-devices-$8.lzx now shows consistent behavior in swf8, dhtml and swf9.

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

--- WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
@@ -313,17 +313,23 @@
             }

             //Debug.write('__mouseEvent', eventname, this.owner);
-            if (skipevent == false && this.owner.mouseevent) {
-                LzMouseKernel.__sendEvent(this.owner, eventname);
-
-                if (this.__mousedown) {
-                    if (eventname == 'onmouseover') {
-                        LzMouseKernel.__sendEvent(this.owner, 'onmousedragin');
-                    } else if (eventname == 'onmouseout') {
-                        LzMouseKernel.__sendEvent(this.owner, 'onmousedragout');
+            if (skipevent == true || ! this.owner.mouseevent) return;
+
+            // send dragin/out events if the mouse is currently down
+            if (LzMouseKernel.__lastMouseDown) {
+                if (eventname == 'onmouseover' || eventname == 'onmouseout') {
+                    // only send mouseover/out if the mouse went down on this sprite
+                    if (LzMouseKernel.__lastMouseDown == this) {
+                        LzMouseKernel.__sendEvent(this.owner, eventname);
                     }
+
+                    var dragname = eventname == 'onmouseover' ? 'onmousedragin' : 'onmousedragout';
+                    LzMouseKernel.__sendEvent(this.owner, dragname);
+                    return;
                 }
             }
+
+            LzMouseKernel.__sendEvent(this.owner, eventname);
       }

       /** setClickable( Boolean:clickable )


getRecords() format param can now be an IAttributeColumn

--- WeaveJS/src/weavejs/data/ColumnUtils.as
+++ WeaveJS/src/weavejs/data/ColumnUtils.as
@@ -472,8 +472,6 @@
 		 */
 		public static function getRecords(format:Object, keys:Array = null, dataType:Object = null):Array
 		{
-			if (JS.isPrimitive(format) || format is IAttributeColumn)
-				throw new Error("Invalid record format");
 			if (!keys)
 				keys = getAllKeys(getColumnsFromFormat(format, []));
 			var records:Array = new Array(keys.length);
@@ -484,13 +482,12 @@

 		private static function getColumnsFromFormat(format:Object, output:Array):Array
 		{
-			// check for primitive values
-			if (format === null || typeof format !== 'object')
+			if (JS.isPrimitive(format))
 				return output;
-			for (var prop:String in format)
-				if (format[prop] is IAttributeColumn)
-					output.push(format[prop]);
-				else
+			if (format is IAttributeColumn)
+				output.push(format);
+			else
+				for (var prop:String in Object(format))
 					getColumnsFromFormat(format[prop], output);
 			return output;
 		}


added StandardLib.getHexColor()

added StandardLib.getHexColor()

--- WeaveJS/src/weavejs/util/StandardLib.as
+++ WeaveJS/src/weavejs/util/StandardLib.as
@@ -493,6 +493,17 @@
 		public static function getColorLuma(color:Number):Number
 		{
 			return 0.3 * ((color & 0xFF0000) >> 16) + 0.59 * ((color & 0x00FF00) >> 8) + 0.11 * (color & 0x0000FF);
+		}
+
+		/**
+		 * @param color A numeric color value
+		 * @return A hex color string like #FFFFFF
+		 */
+		public static function getHexColor(color:Number):String
+		{
+			if (color != (color & 0xFFFFFF))
+				return null;
+			return '#' + numberToBase(color, 16, 6);
 		}

 		/**


whitespace changes

whitespace changes

Change-Id: Id6ee4beac09bad84b2a17cb95affb2f94316afdd

--- WeaveUI/src/weave/utils/SpatialIndex.as
+++ WeaveUI/src/weave/utils/SpatialIndex.as
@@ -227,6 +227,55 @@
 			return _kdTree.queryRange(minKDKey, maxKDKey);
 		}

+		private function polygonOverlapsPolyLine(polygon:Array, line:Object):Boolean
+		{
+			for (var i:int = 0; i < line.length - 1; ++i)
+			{
+				if (ComputationalGeometryUtils.polygonOverlapsLine(
+											_tempBoundsPolygon,
+											line[i].x, line[i].y,
+											line[i + 1].x, line[i + 1].y	))
+				{
+					return true;
+				}
+			}
+
+			return false;
+		}
+		private function polygonOverlapsPolyPoint(polygon:Array, point:Object):Boolean
+		{
+			for (var i:int = 0; i < point.length; ++i)
+			{
+				if (ComputationalGeometryUtils.polygonOverlapsPoint(_tempBoundsPolygon, point[i].x, point[i].y))
+					return true;
+			}
+
+			return false;
+		}
+		private function getMinimumUnscaledDistanceFromPolyLine(line:Object, x:Number, y:Number):Number
+		{
+			var min:Number = Number.POSITIVE_INFINITY;
+
+			for (var i:int = 0; i < line.length - 1; ++i)
+			{
+				min = Math.min(
+					ComputationalGeometryUtils.getUnscaledDistanceFromLine(line[i].x, line[i].y, line[i + 1].x, line[i + 1].y,x, y),
+					min);
+			}
+			return min;
+		}
+		private function getMinimumUnscaledDistanceFromPolyPoint(line:Object, x:Number, y:Number):Number
+		{
+			var min:Number = Number.POSITIVE_INFINITY;
+
+			for (var i:int = 0; i < line.length; ++i)
+			{
+				min = Math.min(
+					ComputationalGeometryUtils.getDistanceFromPointSq(line[i].x, line[i].y, x, y),
+					min);
+			}
+			return min;
+		}
 		/**
 		 * This function will get the keys which intersect with the bounds.
 		 *
@@ -235,10 +284,12 @@
 		 */
 		public function getKeysOverlappingBounds(bounds:IBounds2D, minImportance:Number = 0):Array
 		{
+			var keys:Array;
 			// if this index isn't for an IPlotterWithGeometries OR the user wants legacy probing
-			var keys:Array = getKeysOverlappingCollectiveBounds(bounds);
 			if (_keyToGeometriesMap == null || !Weave.properties.enableGeometryProbing.value == true)
-				return keys; // stop now
+				return getKeysOverlappingCollectiveBounds(bounds, 0);
+			else
+				keys = getKeysOverlappingCollectiveBounds(bounds, minImportance);

 			// if there are 0 keys
 			if (keys.length == 0)
@@ -287,7 +338,7 @@
 							}
 							else if (genGeomIsLine)
 							{
-								if (ComputationalGeometryUtils.polygonOverlapsLine(_tempBoundsPolygon, part[0].x, part[0].y, part[1].x, part[1].y))
+								if (polygonOverlapsPolyLine(_tempBoundsPolygon, part))
 								{
 									result.push(key);
 									continue keyLoop;
@@ -295,7 +346,7 @@
 							}
 							else // point
 							{
-								if (ComputationalGeometryUtils.polygonOverlapsPoint(_tempBoundsPolygon, part[0].x, part[0].y))
+								if (polygonOverlapsPolyPoint(_tempBoundsPolygon, part))
 								{
 									result.push(key);
 									continue keyLoop;
@@ -314,7 +365,7 @@

 						if (simpleGeomIsPoly)// a polygon, check for polygon overlap
 						{
-							if (ComputationalGeometryUtils.polygonOverlapsPolygon(_tempBoundsPolygon, _tempGeometryPolygon))
+							if (ComputationalGeometryUtils.polygonOverlapsPolygon(_tempBoundsPolygon, vertices))
 							{
 								result.push(key);
 								continue keyLoop;
@@ -322,10 +373,7 @@
 						}
 						else if (simpleGeomIsLine) // if a line, check for bounds intersect line
 						{
-							if (ComputationalGeometryUtils.polygonOverlapsLine(
-								_tempBoundsPolygon, /* polygon */
-								vertices[0].x, vertices[0].y, /* point A on AB */
-								vertices[1].x, vertices[1].y /* point B on AB */ ))
+							if (polygonOverlapsPolyLine(_tempBoundsPolygon, vertices))
 							{
 								result.push(key);
 								continue keyLoop;
@@ -333,7 +381,7 @@
 						}
 						else
 						{
-							if (ComputationalGeometryUtils.polygonOverlapsPoint(_tempBoundsPolygon, vertices[0].x, vertices[0].y))
+							if (polygonOverlapsPolyPoint(_tempBoundsPolygon, vertices))
 							{
 								result.push(key);
 								continue keyLoop;
@@ -483,9 +531,7 @@
 									}
 									else if (genGeomIsLine)
 									{
-										distanceSq = ComputationalGeometryUtils.getUnscaledDistanceFromLine(
-											part[0].x, part[0].y, part[1].x, part[1].y,
-											xQueryCenter, yQueryCenter);
+										distanceSq = getMinimumUnscaledDistanceFromPolyLine(part, xQueryCenter, yQueryCenter);

 										if (distanceSq <= Number.MIN_VALUE)
 											overlapsQueryCenter = true;
@@ -494,8 +540,7 @@
 									}
 									else if (genGeomIsPoint)
 									{
-										distanceSq = ComputationalGeometryUtils.getDistanceFromPointSq(
-											part[0].x, part[0].y, xQueryCenter, yQueryCenter);
+										distanceSq = getMinimumUnscaledDistanceFromPolyPoint(part, xQueryCenter, yQueryCenter);
 										if (distanceSq <= Number.MIN_VALUE)
 											overlapsQueryCenter = true;
 										else
@@ -553,9 +598,7 @@
 								}
 								else if (simpleGeomIsLine)
 								{
-									distanceSq = ComputationalGeometryUtils.getUnscaledDistanceFromLine(
-										vertices[0].x, vertices[0].y, vertices[1].x, vertices[1].y,
-										xQueryCenter, yQueryCenter);
+									distanceSq = getMinimumUnscaledDistanceFromPolyLine(vertices, xQueryCenter, yQueryCenter);
 									if (distanceSq <= Number.MIN_VALUE)
 										overlapsQueryCenter = true;
 									else
@@ -563,8 +606,7 @@
 								}
 								else if (simpleGeomIsPoint)
 								{
-									distanceSq = ComputationalGeometryUtils.getDistanceFromPointSq(
-										vertices[0].x, vertices[0].y, xQueryCenter, yQueryCenter);
+									distanceSq = getMinimumUnscaledDistanceFromPolyPoint(vertices, xQueryCenter, yQueryCenter);
 									if (distanceSq <= Number.MIN_VALUE)
 										overlapsQueryCenter = true;
 									else
@@ -627,4 +669,4 @@
 		private const _tempGeometryPolygon:Array = [];
 		private const _tempVertices:Array = [];
 	}
-}+}


Preview fix.

Preview fix.

--- exporter/src/main/as/flump/SwfTexture.as
+++ exporter/src/main/as/flump/SwfTexture.as
@@ -86,8 +86,8 @@
             return renderToBitmapData(bmd, w, h, scale);

         } else {
-            _disp.x = getOffset(_disp, scale).x;
-            _disp.y = getOffset(_disp, scale).y;
+            _disp.x = -getOffset(_disp, scale).x;
+            _disp.y = -getOffset(_disp, scale).y;
             holder.addChild(_disp);
             return renderToBitmapData(holder, w, h, scale);
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11095
Author:   eitan@ascender.com
Date:     2009-10-22T23:34:03.596935Z

Log Message:
-----------
Added changes in spark components to use AccImpl.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Spinner.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableTextBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/TextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/CheckBox.as</path>

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

--- frameworks/projects/spark/src/spark/components/CheckBox.as
+++ frameworks/projects/spark/src/spark/components/CheckBox.as
@@ -14,8 +14,11 @@

 import flash.events.Event;
 import flash.events.MouseEvent;
+import mx.core.mx_internal;

 import spark.components.supportClasses.ToggleButtonBase;
+
+use namespace mx_internal;

 /**
  *  @copy spark.components.supportClasses.GroupBase#style:symbolColor
@@ -38,6 +41,8 @@
 //--------------------------------------

 [IconFile("CheckBox.png")]
+
+[AccessibilityClass(implementation="spark.accessibility.CheckBoxAccImpl")]

 /**
  *  The CheckBox component consists of an optional label and a small box
@@ -92,6 +97,19 @@
 public class CheckBox extends ToggleButtonBase
 {
     include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class mixins
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     *  Placeholder for mixin by CheckBoxAccImpl.
+     */
+    mx_internal static var createAccessibilityImplementation:Function;
+

     //--------------------------------------------------------------------------
     //
@@ -111,6 +129,16 @@
     {
         super();
     }
+
+     /**
+     *  @private
+     */
+    override protected function initializeAccessibility():void
+    {
+        if (CheckBox.createAccessibilityImplementation != null)
+            CheckBox.createAccessibilityImplementation(this);
+    }
+
 }

 }


Updates for testacular import

Updates for testacular import

--- node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as
+++ node_modules/testacular/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/rsa/RSAKey.as
@@ -69,7 +69,7 @@

 		}
-
+
 		public static function parsePublicKey(N:String, E:String):RSAKey {
 			return new RSAKey(new BigInteger(N, 16, true), parseInt(E,16));
 		}
@@ -94,14 +94,14 @@
 			n = null;
 			Memory.gc();
 		}
-
+
 		public function encrypt(src:ByteArray, dst:ByteArray, length:uint, pad:Function=null):void {
 			_encrypt(doPublic, src, dst, length, pad, 0x02);
 		}
 		public function decrypt(src:ByteArray, dst:ByteArray, length:uint, pad:Function=null):void {
 			_decrypt(doPrivate2, src, dst, length, pad, 0x02);
 		}
-
+
 		public function sign(src:ByteArray, dst:ByteArray, length:uint, pad:Function = null):void {
 			_encrypt(doPrivate2, src, dst, length, pad, 0x01);
 		}
@@ -109,7 +109,7 @@
 			_decrypt(doPublic, src, dst, length, pad, 0x01);
 		}

-
+
 		private function _encrypt(op:Function, src:ByteArray, dst:ByteArray, length:uint, pad:Function, padType:int):void {
 			// adjust pad if needed
 			if (pad==null) pad = pkcs1pad;


reenabled all tests

reenabled all tests

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

--- test/AllTests.as
+++ test/AllTests.as
@@ -22,10 +22,10 @@
 	{
 		public function AllTests()
 		{
-/*			addTest(new CancelledResourceLoaderTest());
+			addTest(new CancelledResourceLoaderTest());
 			addTest(new ResourceLoaderTest());
 			addTest(new CancelledParallelCompositeTest());
-			addTest(new ParallelCompositeTest());*/
+			addTest(new ParallelCompositeTest());
 			addTest(new CompositeCommandSortingTest());
 			addTest(new CompositeCommandSortByIdTest());
 			addTest(new BasicTest());


Now throwing original error when loadWeaveFileContent() fails.

Change-Id: I457edc149bf2e60293b1012bfa7b45049752a82c

--- WeaveUISpark/src/weave/Weave.as
+++ WeaveUISpark/src/weave/Weave.as
@@ -400,7 +400,7 @@
 							loadWeaveFileContent(String(content));
 							return;
 						} catch (e:Error) { }
-						throw new Error("Invalid Weave session state.");
+						throw e;
 					}
 				}


progress indicator now includes geometry reprojection tasks

Change-Id: I151c81899d5811e9d5a55be92e8e8ccb34f84a9b

--- WeaveData/src/weave/data/ProjectionManager.as
+++ WeaveData/src/weave/data/ProjectionManager.as
@@ -283,6 +283,7 @@
 import org.openscales.proj4as.ProjPoint;
 import org.openscales.proj4as.ProjProjection;

+import weave.api.WeaveAPI;
 import weave.api.data.AttributeColumnMetadata;
 import weave.api.data.DataTypes;
 import weave.api.data.IAttributeColumn;
@@ -325,7 +326,7 @@
 	private var coordsVectorIndex:int; // the index of the Array in coordsVector that should be passed to GeneralizedGeometry.setCoordinates()
 	private var keysVector:Vector.<IQualifiedKey>; // vector to pass to GeometryColumn.setGeometries()
 	private var geomVector:Vector.<GeneralizedGeometry>; // vector to pass to GeometryColumn.setGeometries()
-	private var coordsVector:Vector.<Array>; // each Array will be passed to setCoordinates() on the corresponding GeneralizedGeometry
+	private const coordsVector:Vector.<Array> = new Vector.<Array>(); // each Array will be passed to setCoordinates() on the corresponding GeneralizedGeometry
 	private var sourceProj:ProjProjection; // parameter for Proj4as.transform()
 	private var destinationProj:ProjProjection; // parameter for Proj4as.transform()

@@ -337,7 +338,7 @@
 	 */
 	private function startNewTask():void
 	{
-		taskID++; // incrementing this variable will stop all old tasks from continuing
+		taskID++; // incrementing this variable will stop all old tasks from continuing

 		// if the source and destination projection are the same, we don't need to reproject.
 		// if we don't know the projection of the original column, we can't reproject.
@@ -391,10 +392,12 @@
 		coordsVectorIndex = 0;
 		keysVector = new Vector.<IQualifiedKey>();
 		geomVector = new Vector.<GeneralizedGeometry>();
-		coordsVector = new Vector.<Array>();
+		coordsVector.length = 0;
 		sourceProj = projectionManager.getProjection(sourceProjSRS);
 		destinationProj = projectionManager.getProjection(destinationProjSRS);

+		WeaveAPI.ProgressIndicator.addTask(this);
+		WeaveAPI.ProgressIndicator.addTask(coordsVector);
 		processGeometries(taskID);
 	}

@@ -413,6 +416,7 @@
 			// continue later if necessary
 			if (StageUtils.shouldCallLater)
 			{
+				WeaveAPI.ProgressIndicator.updateTask(this, keyIndex / (keys.length - 1));
 				StageUtils.callLater(unprojectedColumn, processGeometries, arguments);
 				return;
 			}
@@ -473,18 +477,21 @@
 		for (; coordsVectorIndex < coordsVector.length; coordsVectorIndex++)
 		{
 			// continue later if necessary
-			if (StageUtils.shouldCallLater)
-			{
+			if (StageUtils.shouldCallLater)
+			{
+				WeaveAPI.ProgressIndicator.updateTask(coordsVector, coordsVectorIndex / (coordsVector.length - 1));
 				StageUtils.callLater(unprojectedColumn, processGeometries, arguments);
 				return;
 			}
 			newGeometry = geomVector[coordsVectorIndex];
 			newGeometry.setCoordinates(coordsVector[coordsVectorIndex], BLGTreeUtils.METHOD_SAMPLE);
-		}
-
+		}
+		WeaveAPI.ProgressIndicator.removeTask(coordsVector);
+		WeaveAPI.ProgressIndicator.removeTask(this);
+
 		// after all geometries have been reprojected, update the reprojected column
 		var reprojectedColumn:GeometryColumn = proxyColumn.internalColumn as GeometryColumn;
-		reprojectedColumn.setGeometries(keysVector, geomVector);
+		reprojectedColumn.setGeometries(keysVector, geomVector);
 	}
 }


updated typings

updated typings

--- WeaveJS/src/weavejs/core/ClassRegistryImpl.as
+++ WeaveJS/src/weavejs/core/ClassRegistryImpl.as
@@ -188,7 +188,11 @@
 		 * @return FlexJS class info object containing properties "variables", "accessors", and "methods",
 		 *         each being an Array of Objects like {type:String, declaredBy:String}
 		 */
-		public function getClassInfo(class_or_instance:Object):Object
+		public function getClassInfo(class_or_instance:Object):/*/{
+			variables: {[name:string]:{type: string}}[],
+			accessors: {[name:string]:{type: string, declaredBy: string}}[],
+			methods: {[name:string]:{type: string, declaredBy: string}}[]
+			}/*/Object
 		{
 			if (!class_or_instance)
 				return null;


Transferred from the Adobe Open Source Subversion Repository

Revision: 23247
Author:   cframpto@adobe.com
Date:     2011-12-20T19:21:13.134833Z

Log Message:
-----------
Remove ADOBE SYSTEMS license and replace with Apache license in headers - frameworks.  A 2nd pass will be needed to get the files not handled up by the scripts.

Modified Paths:
--------------
4959 paths were modified

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

--- frameworks/projects/automation/src/mx/automation/delegates/controls/DataGridAutomationImpl.as
+++ frameworks/projects/automation/src/mx/automation/delegates/controls/DataGridAutomationImpl.as
@@ -1,11 +1,19 @@
 ////////////////////////////////////////////////////////////////////////////////
 //
-//  ADOBE SYSTEMS INCORPORATED
-//  Copyright 2009 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: 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@1251910 13f79535-47bb-0310-9956-ffa450edef68

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

 package mx.automation.delegates.charts
 {


Quick fix to re-enable legend-click selection in vector graphics editor
.

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

--- flare.vis/flare/vis/legend/Legend.as
+++ flare.vis/flare/vis/legend/Legend.as
@@ -98,7 +98,8 @@
 		/** Scale instance used to define the legend mapping. */
 		public function get scale():Scale { return _scale; }
 		public function set scale(s:Scale):void {
-			_scale = s; _discrete = scale is OrdinalScale;
+			_scale = s;
+			if(s != null) _discrete = _scale is OrdinalScale;
 		}
 		/** The LegendRange for this legend, if it is continuous. This
 		 *  value is null if the legend is discrete. */