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

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

 package spark.events
 {


Change 20081029-hqm-8 by hqm@badtzmaru.home on 2008-10-29 18:48:46 EDT
    in /Users/hqm/openlaszlo/trunk4
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary:  fix sprite unload() for swf9

New Features:

Bugs Fixed: LPP-7258

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

Documentation:

Release Notes:

Details:

Tests:

test/smoke/smokecheck.lzx in swf9

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

--- WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
+++ WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
@@ -1227,6 +1227,10 @@
       }

       public function unload() {
+        if (this.owner != null) {
+              this.owner.resourceevent('loadratio', 0);
+              this.owner.resourceevent('framesloadratio', 0);
+        }
         if (this.imgLoader) {
             try {
                 // close the stream


Added EmptyTool -> CustomTool backwards compatibility code.

--- WeaveClient/src/weave/VisApplication.as
+++ WeaveClient/src/weave/VisApplication.as
@@ -864,6 +864,8 @@
 						tag.setLocalName("WeaveDataSource");
 					for each (tag in xml.descendants("OpenIndicatorsDataSource"))
 						tag.setLocalName("WeaveDataSource");
+					for each (tag in xml.descendants("EmptyTool"))
+						tag.setLocalName("CustomTool");
 					for each (tag in xml.descendants("WMSPlotter2"))
 						tag.setLocalName("WMSPlotter");
 					for each (tag in xml.descendants("SessionedTextArea"))


Align the stage properly

Align the stage properly

--- src/main/as/flump/Flump.as
+++ src/main/as/flump/Flump.as
@@ -5,6 +5,8 @@

 import flash.desktop.NativeApplication;
 import flash.display.Sprite;
+import flash.display.StageAlign;
+import flash.display.StageScaleMode;
 import flash.events.Event;
 import flash.events.InvokeEvent;
 import flash.filesystem.File;
@@ -27,6 +29,8 @@

     public function Flump () {
         NA.addEventListener(InvokeEvent.INVOKE, onInvoke);
+        stage.align = StageAlign.TOP_LEFT;
+        stage.scaleMode = StageScaleMode.NO_SCALE;
         _starling = new Starling(Preview, stage)
         _starling.start();
     }


code clean

code clean

--- src/model/CopyDataProxy.as
+++ src/model/CopyDataProxy.as
@@ -129,9 +129,8 @@
 				selectedDestinaionBonelist = _selectedDestinationArmature[ConstValues.BONE].copy();
 				selectedDestinaionBehaviorList = _selectedDestinationArmature[ConstValues.ANIMATION][ConstValues.MOVEMENT].copy();
 				destinationDisplayArmature = _copyFactory.buildArmature(_selectedDestinationArmature.@[ConstValues.A_NAME]);
-				var behavious:XMLList = _selectedDestinationArmature[ConstValues.ANIMATION][ConstValues.MOVEMENT];
-				if (behavious.length() > 0)
-					selectedDestinationBehavior = behavious[0];
+				if (selectedDestinaionBehaviorList.length() > 0)
+					selectedDestinationBehavior = selectedDestinaionBehaviorList[0];
 				else
 					selectedDestinationBehavior = null;
 			}
@@ -159,9 +158,8 @@
 				selectedSourceBoneList = _selectedSourceArmature[ConstValues.BONE].copy();
 				selectedSourceBehaviorList = _selectedSourceArmature[ConstValues.ANIMATION][ConstValues.MOVEMENT].copy();
 				sourceDisplayArmature = _copyFactory.buildArmature(_selectedSourceArmature.@[ConstValues.A_NAME]);
-				var behaviors:XMLList = _selectedSourceArmature[ConstValues.ANIMATION][ConstValues.MOVEMENT];
-				if (behaviors.length() > 0)
-					selectedSourceBehavior = behaviors[0];
+				if (selectedSourceBehaviorList.length() > 0)
+					selectedSourceBehavior = selectedSourceBehaviorList[0];
 				else
 					selectedSourceBehavior = null;
 			}
@@ -277,7 +275,7 @@
 			var boneTree:XMLList = generateBoneTree(plattenDestinationBones);
 			delete selectedDestinationArmature[ConstValues.BONE];
 			selectedDestinationArmature.appendChild(boneTree);
-			selectedDestinaionBonelist = boneTree;
+			selectedDestinaionBonelist = boneTree.copy();

 			resetDestinationSkeletonData();
@@ -296,8 +294,7 @@
 			var copiedDestinationBehaviors:XMLList = copyBehaviors(selectedSourceBehaviorList, selectedDestinaionBehaviorList, _sharedBoneNames, _destinationBoneNames);
 			var destinationName:String = selectedDestinationArmature.@[ConstValues.A_NAME];

-			var temp:XMLList = copiedDestinationBehaviors.copy();
-			delete temp.@original;
+
 			var container:XML = <{ConstValues.ANIMATION}/>;
 			container.@[ConstValues.A_NAME] = destinationName;
 			container.appendChild(copiedDestinationBehaviors);
@@ -305,6 +302,7 @@
 			//update selectedDestinationArmature
 			delete _selectedDestinationArmature[ConstValues.ANIMATION];
 			_selectedDestinationArmature.appendChild(container);
+

 			//update _copySkeletonXML;
 			delete _copySkeletonXML[ConstValues.ANIMATIONS][ConstValues.ANIMATION].(@[ConstValues.A_NAME] == destinationName)[0];
@@ -314,12 +312,13 @@

 			resetDestinationSkeletonData();
 			//occur to update
-			var temp1:XML = selectedDestinationBehavior;
-			var temp2:XML = selectedDestinationArmature;
+			//var temp1:XML = selectedDestinationBehavior;
+			var temp:XML = selectedDestinationArmature;
+			var selectedBehaviorName:String=selectedDestinationBehavior.@[ConstValues.A_NAME];
 			selectedDestinationArmature = null;
 			selectedDestinationBehavior = null;
-			selectedDestinationArmature = temp2;
-			selectedDestinationBehavior = temp1;
+			selectedDestinationArmature = temp;
+			selectedDestinationBehavior = selectedDestinationArmature[ConstValues.ANIMATION][ConstValues.MOVEMENT].(@[ConstValues.A_NAME]==selectedBehaviorName)[0];
 		}


Рефакторинг loader

Рефакторинг loader

--- src/main/org/shypl/common/loader/AbstractLoader.as
+++ src/main/org/shypl/common/loader/AbstractLoader.as
@@ -6,6 +6,7 @@
 	import org.shypl.common.lang.ErrorEventException;
 	import org.shypl.common.lang.IllegalStateException;
 	import org.shypl.common.timeline.GlobalTimeline;
+	import org.shypl.common.util.Cancelable;
 	import org.shypl.common.util.progress.AbstractProgress;
 	import org.shypl.common.util.progress.CancelableProgress;

@@ -14,6 +15,7 @@
 		private var _url:String;
 		private var _loading:Boolean;
 		private var _attempt:int;
+		private var _attemptLoadingCall:Cancelable;
 		private var _failHandler:LoadingFailHandler;

 		function AbstractLoader(url:String, failHandler:LoadingFailHandler) {
@@ -26,6 +28,12 @@
 		}

 		public final function cancel():void {
+			FileLoader.LOGGER.trace("Loading cancel {}", _url);
+
+			if (_attemptLoadingCall != null) {
+				_attemptLoadingCall.cancel();
+			}
+
 			cancelLoading();
 			freeLoading();
 			complete();
@@ -41,6 +49,8 @@
 		override final protected function complete():void {
 			super.complete();
 			FileLoader.handleLoadingComplete();
+			_attemptLoadingCall = null;
+			_failHandler = null;
 		}

 		[Abstract]
@@ -70,7 +80,7 @@

 		protected final function handleLoadingCompleteEvent(event:Event):void {
 			_loading = false;
-			FileLoader.LOGGER.trace("Loaded {}", url);
+			FileLoader.LOGGER.trace("Loaded {}", _url);

 			produceResult();
 			freeLoading();
@@ -81,11 +91,10 @@
 			freeLoading();
 			_loading = false;
 			if (_attempt == 3) {
-				FileLoader.LOGGER.warn("Unable to load {}", url);
 				handleLoadingFail(event);
 			}
 			else {
-				GlobalTimeline.schedule(1000, attemptLoading);
+				_attemptLoadingCall = GlobalTimeline.schedule(1000, attemptLoading);
 			}
 		}

@@ -93,11 +102,12 @@
 			if (_loading || completed) {
 				throw new IllegalStateException();
 			}
-			FileLoader.LOGGER.trace("Load {}", url);
+			FileLoader.LOGGER.trace("Load {}", _url);
 			attemptLoading();
 		}

 		private function attemptLoading():void {
+			_attemptLoadingCall = null;
 			++_attempt;
 			_loading = true;
 			startLoading();
@@ -105,10 +115,12 @@

 		private function handleLoadingFail(event:ErrorEvent):void {
 			if (_failHandler === null) {
+				FileLoader.LOGGER.error("Loading fail {}", _url);
 				throw new ErrorEventException(event, "Error on load file " + _url);
 			}
 			else {
 				_failHandler.handleLoadingFail(_url);
+				FileLoader.LOGGER.warn("Loading fail {}", _url);
 				complete();
 			}
 		}


FragmentLoader.as: decouple _loadfirst/_loadnext by passing args

--- src/org/mangui/hls/stream/FragmentLoader.as
+++ src/org/mangui/hls/stream/FragmentLoader.as
@@ -125,13 +125,53 @@
                         return;
                     }
                 }
-
+                var level : int;
                 if (_fragment_first_loaded == false) {
+                    _need_reload = false;
+                    // determine first fragment load level, check if we are in fresh start or seek condition
+                    if (_manifest_just_loaded) {
+                        level = _hls.startlevel;
+                    } else {
+                        level = _hls.seeklevel;
+                    }
+                    if (level != _level || _manifest_just_loaded) {
+                        _level = level;
+                        _hls.dispatchEvent(new HLSEvent(HLSEvent.LEVEL_SWITCH, _level));
+                    }
+                    _switchlevel = true;
                     // just after seek, load first fragment
-                    loadstatus = _loadfirstfragment(_seek_pos);
+                    loadstatus = _loadfirstfragment(_seek_pos, level);
                     // check if we need to load next fragment, check if buffer is full
                 } else if (HLSSettings.maxBufferLength == 0 || _hls.stream.bufferLength < HLSSettings.maxBufferLength) {
-                    loadstatus = _loadnextfragment();
+                    if (_bIOError == true) {
+                        /* in case IO Error has been raised, stick to same level */
+                        level = _level;
+                        /* in case fragment was loaded for PTS analysis, stick to same level */
+                    } else if (_pts_just_loaded == true) {
+                        _pts_just_loaded = false;
+                        level = _level;
+                        /* in case we are switching levels (waiting for playlist to reload) or seeking , stick to same level */
+                    } else if (_switchlevel == true) {
+                        level = _level;
+                    } else if (_manual_level == -1 && _levels.length > 1 ) {
+                        if (_metrics_previous) {
+                            var last_segment_duration : Number = (_frag_previous ? 1000 * _frag_previous.duration : 0);
+                            level = _autoLevelManager.getnextlevel(_level, _hls.stream.bufferLength, last_segment_duration, _metrics_previous.processing_duration, _metrics_previous.bandwidth);
+                        } else {
+                            level = _autoLevelManager.getnextlevel(_level, _hls.stream.bufferLength, 0, 0, 0);
+                        }
+                    } else if (_manual_level == -1 && _levels.length == 1 ) {
+                        level = 0;
+                    } else {
+                        level = _manual_level;
+                    }
+                    if (level != _level) {
+                        _level = level;
+                        _switchlevel = true;
+                        _hls.dispatchEvent(new HLSEvent(HLSEvent.LEVEL_SWITCH, _level));
+                    }
+                    _need_reload = false;
+                    loadstatus = _loadnextfragment(_level, _frag_previous);
                 } else {
                     // no need to load any new fragment, buffer is full already
                     return;
@@ -482,55 +522,15 @@
             }
         };

-        private function _updateLevel(buffer : Number) : int {
-            var level : int;
-            if (_manifest_just_loaded) {
-                level = _hls.startlevel;
-            } else if (_fragment_first_loaded == false) {
-                level = _hls.seeklevel;
-            } else if (_bIOError == true) {
-                /* in case IO Error has been raised, stick to same level */
-                level = _level;
-                /* in case fragment was loaded for PTS analysis, stick to same level */
-            } else if (_pts_just_loaded == true) {
-                _pts_just_loaded = false;
-                level = _level;
-                /* in case we are switching levels (waiting for playlist to reload) or seeking , stick to same level */
-            } else if (_switchlevel == true) {
-                level = _level;
-            } else if (_manual_level == -1 && _levels.length > 1 ) {
-                if (_metrics_previous) {
-                    var last_segment_duration : Number = (_frag_previous ? 1000 * _frag_previous.duration : 0);
-                    level = _autoLevelManager.getnextlevel(_level, buffer, last_segment_duration, _metrics_previous.processing_duration, _metrics_previous.bandwidth);
-                } else {
-                    level = _autoLevelManager.getnextlevel(_level, buffer, 0, 0, 0);
-                }
-            } else if (_manual_level == -1 && _levels.length == 1 ) {
-                level = 0;
-            } else {
-                level = _manual_level;
-            }
-            if (level != _level || _manifest_just_loaded) {
-                _level = level;
-                _switchlevel = true;
-                _hls.dispatchEvent(new HLSEvent(HLSEvent.LEVEL_SWITCH, _level));
-            }
-            return level;
-        }
-
-        private function _loadfirstfragment(position : Number) : int {
+        private function _loadfirstfragment(position : Number, level : int) : int {
             CONFIG::LOGGING {
                 Log.debug("loadfirstfragment(" + position + ")");
             }
-            _need_reload = false;
-            _switchlevel = true;
-            _updateLevel(0);
-
             // check if we received playlist for new level. if live playlist, ensure that new playlist has been refreshed
-            if ((_levels[_level].fragments.length == 0) || (_hls.type == HLSTypes.LIVE && _last_updated_level != _level)) {
+            if ((_levels[level].fragments.length == 0) || (_hls.type == HLSTypes.LIVE && _last_updated_level != level)) {
                 // playlist not yet received
                 CONFIG::LOGGING {
-                    Log.debug("loadfirstfragment : playlist not received for level:" + _level);
+                    Log.debug("loadfirstfragment : playlist not received for level:" + level);
                 }
                 return 1;
             }
@@ -543,7 +543,7 @@
                 order at the nominal playback rate), the client SHOULD NOT
                 choose a segment which starts less than three target durations from
                 the end of the Playlist file */
-                var maxLivePosition : Number = Math.max(0, _levels[_level].duration - 3 * _levels[_level].averageduration);
+                var maxLivePosition : Number = Math.max(0, _levels[level].duration - 3 * _levels[level].averageduration);
                 if (position == -1) {
                     // seek 3 fragments from end
                     seek_position = maxLivePosition;
@@ -558,30 +558,27 @@
             }
             position = seek_position;

-            var seqnum : int = _levels[_level].getSeqNumBeforePosition(position);
-            var frag : Fragment = _levels[_level].getFragmentfromSeqNum(seqnum);
+            var seqnum : int = _levels[level].getSeqNumBeforePosition(position);
+            var frag : Fragment = _levels[level].getFragmentfromSeqNum(seqnum);
             _seqnum = seqnum;
             _hasDiscontinuity = true;
             CONFIG::LOGGING {
-                Log.debug("Loading       " + _seqnum + " of [" + (_levels[_level].start_seqnum) + "," + (_levels[_level].end_seqnum) + "],level " + _level);
+                Log.debug("Loading       " + _seqnum + " of [" + (_levels[level].start_seqnum) + "," + (_levels[level].end_seqnum) + "],level " + level);
             }
             _loadfragment(frag);
             return 0;
         }

         /** Load a fragment **/
-        private function _loadnextfragment() : int {
+        private function _loadnextfragment(level : int, frag_previous : Fragment) : int {
             CONFIG::LOGGING {
                 Log.debug("loadnextfragment()");
             }
-            _need_reload = false;
-
-            _updateLevel(_hls.stream.bufferLength);
             // check if we received playlist for new level. if live playlist, ensure that new playlist has been refreshed
-            if ((_levels[_level].fragments.length == 0) || (_hls.type == HLSTypes.LIVE && _last_updated_level != _level)) {
+            if ((_levels[level].fragments.length == 0) || (_hls.type == HLSTypes.LIVE && _last_updated_level != level)) {
                 // playlist not yet received
                 CONFIG::LOGGING {
-                    Log.debug("loadnextfragment : playlist not received for level:" + _level);
+                    Log.debug("loadnextfragment : playlist not received for level:" + level);
                 }
                 return 1;
             }
@@ -591,22 +588,22 @@
             var log_prefix : String;
             var frag : Fragment;

-            if (_switchlevel == false || _frag_previous.continuity == -1) {
+            if (_switchlevel == false || frag_previous.continuity == -1) {
                 last_seqnum = _seqnum;
             } else {
                 // level switch
                 // trust program-time : if program-time defined in previous loaded fragment, try to find seqnum matching program-time in new level.
-                if (_frag_previous.program_date) {
-                    last_seqnum = _levels[_level].getSeqNumFromProgramDate(_frag_previous.program_date);
+                if (frag_previous.program_date) {
+                    last_seqnum = _levels[level].getSeqNumFromProgramDate(frag_previous.program_date);
                     CONFIG::LOGGING {
-                        Log.debug("loadnextfragment : getSeqNumFromProgramDate(level,date,cc:" + _level + "," + _frag_previous.program_date + ")=" + last_seqnum);
+                        Log.debug("loadnextfragment : getSeqNumFromProgramDate(level,date,cc:" + level + "," + frag_previous.program_date + ")=" + last_seqnum);
                     }
                 }
                 if (last_seqnum == -1) {
                     // if we are here, it means that no program date info is available in the playlist. try to get last seqnum position from PTS + continuity counter
-                    last_seqnum = _levels[_level].getSeqNumNearestPTS(_frag_previous.data.pts_start, _frag_previous.continuity);
+                    last_seqnum = _levels[level].getSeqNumNearestPTS(frag_previous.data.pts_start, frag_previous.continuity);
                     CONFIG::LOGGING {
-                        Log.debug("loadnextfragment : getSeqNumNearestPTS(level,pts,cc:" + _level + "," + _frag_previous.data.pts_start + "," + _frag_previous.continuity + ")=" + last_seqnum);
+                        Log.debug("loadnextfragment : getSeqNumNearestPTS(level,pts,cc:" + level + "," + frag_previous.data.pts_start + "," + frag_previous.continuity + ")=" + last_seqnum);
                     }
                     if (last_seqnum == Number.POSITIVE_INFINITY) {
                         /* requested PTS above max PTS of this level:
@@ -619,17 +616,17 @@
                         // if we are here, it means that we have no PTS info for this continuity index, we need to do some PTS probing to find the right seqnum
                         /* we need to perform PTS analysis on fragments from same continuity range
                         get first fragment from playlist matching with criteria and load pts */
-                        last_seqnum = _levels[_level].getFirstSeqNumfromContinuity(_frag_previous.continuity);
+                        last_seqnum = _levels[level].getFirstSeqNumfromContinuity(frag_previous.continuity);
                         CONFIG::LOGGING {
-                            Log.debug("loadnextfragment : getFirstSeqNumfromContinuity(level,cc:" + _level + "," + _frag_previous.continuity + ")=" + last_seqnum);
+                            Log.debug("loadnextfragment : getFirstSeqNumfromContinuity(level,cc:" + level + "," + frag_previous.continuity + ")=" + last_seqnum);
                         }
                         if (last_seqnum == Number.NEGATIVE_INFINITY) {
                             // playlist not yet received
                             return 1;
                         }
                         /* when probing PTS, take previous sequence number as reference if possible */
-                        new_seqnum = Math.min(_seqnum + 1, _levels[_level].getLastSeqNumfromContinuity(_frag_previous.continuity));
-                        new_seqnum = Math.max(new_seqnum, _levels[_level].getFirstSeqNumfromContinuity(_frag_previous.continuity));
+                        new_seqnum = Math.min(_seqnum + 1, _levels[level].getLastSeqNumfromContinuity(frag_previous.continuity));
+                        new_seqnum = Math.max(new_seqnum, _levels[level].getFirstSeqNumfromContinuity(frag_previous.continuity));
                         _pts_loading_in_progress = true;
                         log_prefix = "analyzing PTS ";
                     }
@@ -637,7 +634,7 @@
             }

             if (_pts_loading_in_progress == false) {
-                if (last_seqnum == _levels[_level].end_seqnum) {
+                if (last_seqnum == _levels[level].end_seqnum) {
                     // if last segment was last fragment of VOD playlist, notify last fragment loaded event, and return
                     if (_hls.type == HLSTypes.VOD) {
                         _hls.dispatchEvent(new HLSEvent(HLSEvent.LAST_VOD_FRAGMENT_LOADED));
@@ -648,27 +645,27 @@
                 } else {
                     // if previous segment is not the last one, increment it to get new seqnum
                     new_seqnum = last_seqnum + 1;
-                    if (new_seqnum < _levels[_level].start_seqnum) {
+                    if (new_seqnum < _levels[level].start_seqnum) {
                         // we are late ! report to caller
                         return -1;
                     }
-                    frag = _levels[_level].getFragmentfromSeqNum(new_seqnum);
+                    frag = _levels[level].getFragmentfromSeqNum(new_seqnum);
                     if (frag == null) {
                         CONFIG::LOGGING {
-                            Log.warn("error trying to load " + new_seqnum + " of [" + (_levels[_level].start_seqnum) + "," + (_levels[_level].end_seqnum) + "],level " + _level);
+                            Log.warn("error trying to load " + new_seqnum + " of [" + (_levels[level].start_seqnum) + "," + (_levels[level].end_seqnum) + "],level " + level);
                         }
                         return 1;
                     }
                     // check whether there is a discontinuity between last segment and new segment
-                    _hasDiscontinuity = (frag.continuity != _frag_previous.continuity);
+                    _hasDiscontinuity = (frag.continuity != frag_previous.continuity);
                     ;
                     log_prefix = "Loading       ";
                 }
             }
             _seqnum = new_seqnum;
-            frag = _levels[_level].getFragmentfromSeqNum(_seqnum);
-            CONFIG::LOGGING {
-                Log.debug(log_prefix + _seqnum + " of [" + (_levels[_level].start_seqnum) + "," + (_levels[_level].end_seqnum) + "],level " + _level);
+            frag = _levels[level].getFragmentfromSeqNum(_seqnum);
+            CONFIG::LOGGING {
+                Log.debug(log_prefix + _seqnum + " of [" + (_levels[level].start_seqnum) + "," + (_levels[level].end_seqnum) + "],level " + level);
             }
             _loadfragment(frag);
             return 0;


Remove searchTerms as well as add...

Remove searchTerms as well as add...

--- as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
+++ as3/xobjas3/src/com/rpath/xobj/XSmartURL.as
@@ -13,8 +13,9 @@

 package com.rpath.xobj
 {
+import flash.utils.Dictionary;
+
 import mx.collections.Sort;
-import flash.utils.Dictionary;
 import mx.collections.SortField;

 [Bindable]
@@ -185,6 +186,9 @@
             return;

         var fullURL:String = baseURL.value;
+
+        if (!fullURL)
+            return;

         var queryFrag:String = queryFragment();

@@ -286,7 +290,6 @@
         return query;
     }

-    [xobjTransient]
     public function addSearchTerm(term:FilterTerm):void
     {
         if (!filterTerms)
@@ -297,6 +300,17 @@
         recomputeQualifiedURL();
     }

+    public function removeSearchTerm(term:FilterTerm):void
+    {
+        var index:int = filterTerms.indexOf(term);
+        if (index != -1)
+        {
+            filterTerms.splice(index,1);
+        }
+
+        recomputeQualifiedURL();
+    }
+
     /* TODO: decide if headers really belong on resource spec */
     [xobjTransient]
     public var headers:Dictionary;


- bugfix: Fixed problems that occured when an element was removed from its' parent during its' own validation cycle.

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

--- src/reprise/ui/UIObject.as
+++ src/reprise/ui/UIObject.as
@@ -29,7 +29,6 @@
 		/***************************************************************************
 		*							public properties							   *
 		***************************************************************************/
-		public static var className : String = "UIObject";

 		/***************************************************************************
@@ -71,7 +70,8 @@
 		protected var m_tooltipDelay : int = 0;

 		protected var m_delayedMethods : Array;
-
+		protected var m_childArrayCleanupNeeded : Boolean;
+

 		/***************************************************************************
 		*							public methods								   *
@@ -836,11 +836,16 @@
 		}
 		protected function validateChildren() : void
 		{
-			var childCount : int = m_children.length;
-			for (var i : int = 0; i < childCount; i++)
+			for (var i : int = 0; i < m_children.length; i++)
 			{
 				validateChild(UIObject(m_children[i]));
 			}
+			if (m_childArrayCleanupNeeded)
+			{
+				m_children = m_children.filter(function(
+					item : Object, index : int, array : Array) : Boolean {return item != null;});
+				m_childArrayCleanupNeeded = false;
+			}
 		}
 		protected function validateChild(child:UIObject) : void
 		{
@@ -849,11 +854,21 @@

 		protected function unregisterChildView(child:UIObject) : void
 		{
-			if (child.m_parentElement != this)
+			var index : int = m_children.indexOf(child);
+			if (index == -1)
 			{
 				return;
 			}
-			m_children.splice(m_children.indexOf(child), 1);
+
+			if (m_isValidating)
+			{
+				m_childArrayCleanupNeeded = true;
+				m_children[index] = null;
+			}
+			else
+			{
+				m_children.splice(m_children.indexOf(child), 1);
+			}
 			child.parent.removeChild(child);
 			child.m_parentElement = null;
 			child.setRootElement(null);


- bugfix: removing an element didn't remove it from its' parents' m_children array

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

--- src/reprise/ui/UIObject.as
+++ src/reprise/ui/UIObject.as
@@ -851,6 +851,7 @@
 		{
 			if (child.parent == this)
 			{
+				m_children.splice(m_children.indexOf(child), 1);
 				removeChild(child);
 				child.dispatchEvent(
 					new DisplayEvent(DisplayEvent.REMOVED_FROM_DOCUMENT, true));


eliminating an unnecessary function call

--- WeaveCore/src/weave/core/StageUtils.as
+++ WeaveCore/src/weave/core/StageUtils.as
@@ -144,7 +144,7 @@
 		 */
 		public static function get shouldCallLater():Boolean
 		{
-			return currentFrameElapsedTime > maxComputationTimePerFrame;
+			return getTimer() - _currentFrameStartTime > maxComputationTimePerFrame;
 		}

 		/**


commented out problematic CustomComboBox code

Change-Id: I5448e03474b86c3f8ffeb14fad048efc1d562f8c

--- WeaveUI/src/weave/ui/CustomComboBox.as
+++ WeaveUI/src/weave/ui/CustomComboBox.as
@@ -49,12 +49,12 @@
 			// TEMPORARY SOLUTION
 			// Sometimes this code crashes with a null reference error.
 			// So, until this is fully debugged, only attempt this fix when running the debug player.
-			if (SessionManager.runningDebugFlashPlayer)
-			{
-				// The dropdown will not be properly reset unless it is currently shown.
-				// validateNow(); // this often breaks the combobox used for WMS Settings in PlotLayerEditor
-				downArrowButton_buttonDownHandler(null);
-			}
+//			if (SessionManager.runningDebugFlashPlayer)
+//			{
+//				// The dropdown will not be properly reset unless it is currently shown.
+//				validateNow();
+//				downArrowButton_buttonDownHandler(null);
+//			}
 			super.dataProvider = value;
 		}


fixed compiler warning

fixed compiler warning

Change-Id: I5734a397b828c44d9466838f4a5f401d06a3bb41

--- WeaveData/src/weave/data/DataSources/GraphMLDataSource.as
+++ WeaveData/src/weave/data/DataSources/GraphMLDataSource.as
@@ -125,7 +125,7 @@
             reportError(event);
         }

-        public function getColumnMetadata(group:String, id:String)
+        public function getColumnMetadata(group:String, id:String):Object
         {
             var metadata:Object = {};
             var is_node:Boolean = group == GraphMLConverter.NODE;


Actualize method's name of ClonerTest class.

--- dolly-framework/src/test/actionscript/dolly/ClonerTest.as
+++ dolly-framework/src/test/actionscript/dolly/ClonerTest.as
@@ -43,7 +43,7 @@
 	}

 	[Test]
-	public function testGetCloneableFields():void {
+	public function testGetCloneableFieldsForType():void {
 		var cloneableFields:Vector.<Field> = Cloner.getCloneableFieldsForType(classMarkedAsCloneableType);

 		assertNotNull(cloneableFields);


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

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

 package mx.controls
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 12127
Author:   hmuller@adobe.com
Date:     2009-11-23T23:58:00.001192Z

Log Message:
-----------
Additional min/max Inspectable metadata, mostly for the filter classes.

QE notes:
Doc notes:
Bugs: sdk-24365
Reviewer: Chet, Jason, Ryan
Tests run:
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/ConvolutionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/filters/BaseDimensionFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BlurFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DisplacementMapFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GlowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/VideoPlayer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/DropShadowFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/BevelFilter.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/filters/GradientFilter.as</path>

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

--- frameworks/projects/spark/src/spark/filters/GlowFilter.as
+++ frameworks/projects/spark/src/spark/filters/GlowFilter.as
@@ -142,6 +142,8 @@

     private var _alpha:Number = 1.0;

+    [Inspectable(minValue="0.0", maxValue="1.0")]
+
     /**
      *  The alpha transparency value for the color. Valid values are 0 to 1.
      *  For example, .25 sets a transparency value of 25%.


Transferred from the Adobe Open Source Subversion Repository

Revision: 19195
Author:   rfrishbe@adobe.com
Date:     2010-12-09T04:56:18.874107Z

Log Message:
-----------
Fix for SDK-28115 for TileLayout with some edge cases where width is NaN or height is NaN.

QE notes:
Doc notes:
Bugs: SDK-28115
Reviewer: Evtim
Tests run: checkintests, mustella TileLayout, TileGroup
Is noteworthy for integration: No

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

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

--- frameworks/projects/spark/src/spark/layouts/TileLayout.as
+++ frameworks/projects/spark/src/spark/layouts/TileLayout.as
@@ -842,25 +842,31 @@
         _verticalGap = explicitVerticalGap;

         // Justify
-        switch (columnAlign)
-        {
-            case ColumnAlign.JUSTIFY_USING_GAP:
-                _horizontalGap = justifyByGapSize(width, _columnWidth, _horizontalGap, _columnCount);
-            break;
-            case ColumnAlign.JUSTIFY_USING_WIDTH:
-                _columnWidth = justifyByElementSize(width, _columnWidth, _horizontalGap, _columnCount);
-            break;
-        }
-
-        switch (rowAlign)
-        {
-            case RowAlign.JUSTIFY_USING_GAP:
-                _verticalGap = justifyByGapSize(height, _rowHeight, _verticalGap, _rowCount);
-            break;
-            case RowAlign.JUSTIFY_USING_HEIGHT:
-                _rowHeight = justifyByElementSize(height, _rowHeight, _verticalGap, _rowCount);
-            break;
-        }
+		if (!isNaN(width))
+		{
+	        switch (columnAlign)
+	        {
+	            case ColumnAlign.JUSTIFY_USING_GAP:
+	                _horizontalGap = justifyByGapSize(width, _columnWidth, _horizontalGap, _columnCount);
+	            break;
+	            case ColumnAlign.JUSTIFY_USING_WIDTH:
+	                _columnWidth = justifyByElementSize(width, _columnWidth, _horizontalGap, _columnCount);
+	            break;
+	        }
+		}
+
+		if (!isNaN(height))
+		{
+	        switch (rowAlign)
+	        {
+	            case RowAlign.JUSTIFY_USING_GAP:
+	                _verticalGap = justifyByGapSize(height, _rowHeight, _verticalGap, _rowCount);
+	            break;
+	            case RowAlign.JUSTIFY_USING_HEIGHT:
+	                _rowHeight = justifyByElementSize(height, _rowHeight, _verticalGap, _rowCount);
+	            break;
+	        }
+		}

         // Last, if we have explicit overrides for both rowCount and columnCount, then
         // make sure that column/row count along the minor axis reflects the actual count.


SuiteRunner: now has a DEFAULT_TEST_RUNNER property, removes Timer listener and no longer depends on concrete Result class.

--- as3/src/asunit4/runners/SuiteRunner.as
+++ as3/src/asunit4/runners/SuiteRunner.as
@@ -1,7 +1,6 @@
-package asunit4.runners
+package asunit4.runners
 {
 	import asunit4.framework.IResult;
-	import asunit4.framework.Result;
 	import asunit4.framework.SuiteIterator;

 	import flash.events.Event;
@@ -10,6 +9,9 @@
 	import flash.utils.Timer;

 	public class SuiteRunner extends EventDispatcher {
+		/** Can be changed at runtime. */
+		public static var DEFAULT_TEST_RUNNER:Class = TestRunner;
+
 		protected var testRunner:TestRunner;
 		protected var suiteRunner:SuiteRunner;
 		protected var testClasses:SuiteIterator;
@@ -18,14 +20,14 @@

 		public function SuiteRunner() {
 			timer = new Timer(0, 1);
-			timer.addEventListener(TimerEvent.TIMER, runNextTest);
 		}

-		public function run(suite:Class, result:IResult = null):void {
-			this.result = result || new Result();
-			testRunner = new TestRunner();
+		public function run(suite:Class, result:IResult):void {
+			this.result = result;
+			testRunner = new DEFAULT_TEST_RUNNER();
 			testRunner.addEventListener(Event.COMPLETE, onTestCompleted);
 			testClasses = new SuiteIterator(suite);
+			timer.addEventListener(TimerEvent.TIMER, runNextTest);

 			runNextTest();
 		}
@@ -47,6 +49,7 @@
 		}

 		protected function onSuiteCompleted():void {
+			timer.removeEventListener(TimerEvent.TIMER, runNextTest);
 			dispatchEvent(new Event(Event.COMPLETE));
 		}


should.have(property)

should.have(property)

--- test/TestAS3Spec.as
+++ test/TestAS3Spec.as
@@ -34,6 +34,12 @@
 					so(nothing).should.be.nil;
 					// != null
 					so(arr).should.not.be.nil;
+				});
+
+				it ('provides should.have and should.not.have', function () :void
+				{
+					so(arr).should.have('length');
+					so(arr).should.not.have('kittens');
 				});

 				it ('provides should.match and should.not.match', function () :void
@@ -81,7 +87,8 @@
 				{
 					var t:Timer = new Timer(1000);
 					so(t).should.not.trigger('timer');
-/*					so(t).should.trigger('timer');*/
+					t.addEventListener('timer', function () :void {});
+					so(t).should.trigger('timer');
 				});

 				it ('catches an empty specification', function () :void


Attempt to call unloadAndStop(), but remain compileable for flash 9
for the time being.

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

--- src/as/com/threerings/flash/LoaderUtil.as
+++ src/as/com/threerings/flash/LoaderUtil.as
@@ -20,16 +20,19 @@
         } catch (e1 :Error) {
             // ignore
         }
-//        try {
-//            loader.unloadAndStop();
-//        } catch (e2 :Error) {
+        try {
+            //loader.unloadAndStop();
+            loader["unloadAndStop"]();
+            trace("content unloadAndStopped");
+        } catch (e2 :Error) {
             // hmm, maybe they are using FP9 still
             try {
                 loader.unload();
+                trace("content unloaded");
             } catch (e3 :Error) {
                 // ignore
             }
-//        }
+        }
     }
 }
 }


CommandMenu no longer scrolls. It now supports methods to display a menu inside
a visible area or to expliclty pop up or left which it correctly passes on to
its submenus.

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

--- src/as/com/threerings/flex/CommandMenu.as
+++ src/as/com/threerings/flex/CommandMenu.as
@@ -73,7 +73,7 @@
  *
  * See "Defining menu structure and data" in the Flex manual for the full list.
  */
-public class CommandMenu extends ScrollableArrowMenu
+public class CommandMenu extends Menu
 {
     /**
      * Factory method to create a command menu.
@@ -115,22 +115,49 @@
     public function popUp (trigger :DisplayObject, popUpwards :Boolean = false,
                            popLeftwards :Boolean = false) :void
     {
+        _upping = popUpwards;
+        _lefting = popLeftwards;
+        _fitting = null;
         var r :Rectangle = trigger.getBounds(trigger.stage);
-
-        if (popUpwards) {
-            show(r.x, 0);
-            // then, reposition the y once we know our size
-            y = r.y - getExplicitOrMeasuredHeight();
-
-        } else {
-            // position it below the trigger
-            show(r.x, r.y + r.height);
-        }
-
-        if (popLeftwards) {
-            // reposition the x now that we know our size
-            x = r.x + r.width - getExplicitOrMeasuredWidth();
-        }
+        show(_lefting ? r.left : r.right, _upping ? r.top : r.bottom);
+    }
+
+    /**
+     * Shows the menu at the current mouse coordinates, popping upwards or leftwards as necessary
+     * to fit the menu into the supplied bounds.
+     */
+    public function popUpIn (bounds :Rectangle) :void
+    {
+        var mx :int = DisplayObject(Application.application).mouseX;
+        var my :int = DisplayObject(Application.application).mouseY;
+
+        // show it at zero zero so that it is layed out and measured
+        show(0, 0);
+        _fitting = bounds;
+
+        // then determine if we need to point it leftwards or upwards
+        if (mx + getExplicitOrMeasuredWidth() > bounds.right) {
+            mx -= getExplicitOrMeasuredWidth();
+        }
+        if (my + getExplicitOrMeasuredHeight() > bounds.bottom) {
+            my -= getExplicitOrMeasuredHeight();
+        }
+
+        // finally move it to the correct position
+        x = mx;
+        y = my;
+    }
+
+    /**
+     * Shows the menu at the specified mouse coordinates.
+     */
+    public function popUpAt (mx :int, my :int, popUpwards :Boolean = false,
+                             popLeftwards :Boolean = false) :void
+    {
+        _upping = popUpwards;
+        _lefting = popLeftwards;
+        _fitting = null;
+        show(mx, my);
     }

     /**
@@ -145,7 +172,16 @@
         if (yShow == null) {
             yShow = DisplayObject(Application.application).mouseY;
         }
+
         super.show(xShow, yShow);
+
+        // reposition now that we know our size
+        if (_lefting) {
+            y = x - getExplicitOrMeasuredWidth();
+        }
+        if (_upping) {
+            y = y - getExplicitOrMeasuredHeight();
+        }
     }

     /**
@@ -175,15 +211,12 @@
         var menu :CommandMenu;

         // check to see if the menu exists, if not create it
-        if (!IMenuItemRenderer(row).menu)
-        {
-            /* The only differences between this method and the original method in mx.controls.Menu
-             * are these few lines.
-             */
+        if (!IMenuItemRenderer(row).menu) {
+            // the only differences between this method and the original method in mx.controls.Menu
+            // are these few lines.
             menu = new CommandMenu();
             menu.maxHeight = this.maxHeight;
             menu.verticalScrollPolicy = this.verticalScrollPolicy;
-            menu.arrowScrollPolicy = this.arrowScrollPolicy;
             menu.variableRowHeight = this.variableRowHeight;

             menu.parentMenu = this;
@@ -213,6 +246,25 @@
         }

         super.openSubMenu(row);
+
+        // if we're lefting, upping or fitting make sure our submenu does so as well
+        var submenu :Menu = IMenuItemRenderer(row).menu;
+        var lefting :Boolean = _lefting;
+        var upping :Boolean = _upping;
+        if (_fitting != null) {
+            if (submenu.x + submenu.getExplicitOrMeasuredWidth() > _fitting.right) {
+                lefting = true;
+            }
+            if (submenu.y + submenu.getExplicitOrMeasuredHeight() > _fitting.bottom) {
+                upping = true;
+            }
+        }
+        if (lefting) {
+            submenu.x -= submenu.getExplicitOrMeasuredWidth();
+        }
+        if (upping) {
+            submenu.y -= (submenu.getExplicitOrMeasuredHeight() - DisplayObject(row).height);
+        }
     }

     // from List
@@ -243,5 +295,8 @@
     }

     protected var _dispatcher :IEventDispatcher;
+    protected var _fitting :Rectangle;
+    protected var _lefting :Boolean = false;
+    protected var _upping :Boolean = false;
 }
 }


Use Util.init() to initialize TextFields and TextFormats.

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

--- src/as/com/threerings/flash/TextFieldUtil.as
+++ src/as/com/threerings/flash/TextFieldUtil.as
@@ -35,6 +35,8 @@
 import flash.text.TextFormat;
 import flash.text.TextFormatAlign;

+import com.threerings.util.Util;
+
 public class TextFieldUtil
 {
     /** A fudge factor that must be added to a TextField's textWidth when setting the width. */
@@ -46,52 +48,41 @@
     /**
      * Create a TextField.
      *
-     * args: contains properties with which to initialize the TextField
+     * @param initProps contains properties with which to initialize the TextField.
+     * Additionally it may contain the following properties:
+     *    outlineColor: uint
+     *
+     * initProps may be destructively modified.
      */
     public static function createField (
-        text :String, args :Object = null, clazz :Class = null) :TextField
+        text :String, initProps :Object = null, clazz :Class = null) :TextField
     {
         var tf :TextField = (clazz == null) ? new TextField() : TextField(new clazz());
-        tf.background = getArg(args, "background", false);
-        tf.border = getArg(args, "border", false);
-        tf.multiline = getArg(args, "multiline", false);
-        tf.type = getArg(args, "type", TextFieldType.DYNAMIC);

-        var format :* = getArg(args, "format");
-        if (format !== undefined) {
-            tf.defaultTextFormat = format;
+        if ("outlineColor" in initProps) {
+            tf.filters = [ new GlowFilter(uint(initProps["outlineColor"]), 1, 2, 2, 255) ];
         }

-        var outColor :* = getArg(args, "outlineColor");
-        if (outColor !== undefined) {
-            tf.filters = [ new GlowFilter(uint(outColor), 1, 2, 2, 255) ];
-        }
-
-        tf.autoSize = getArg(args, "autoSize", TextFieldAutoSize.LEFT);
+        Util.init(tf, initProps, null, MASK_FIELD_PROPS);
         tf.text = text;
         if (tf.autoSize != null) {
-            tf.width = tf.textWidth + 5;
-            tf.height = tf.textHeight + 4;
+            tf.width = tf.textWidth + WIDTH_PAD;
+            tf.height = tf.textHeight + HEIGHT_PAD;
         }

         return tf;
     }

     /**
-     * Create a TextFormat.
+     * Create a TextFormat using initProps.
+     * If unspecified, the following properties have default values:
+     *  size: 18
+     *  font: _sans
      */
-    public static function createFormat (args :Object) :TextFormat
+    public static function createFormat (initProps :Object) :TextFormat
     {
         var f :TextFormat = new TextFormat();
-        f.align = getArg(args, "align", TextFormatAlign.LEFT);
-        f.blockIndent = getArg(args, "blockIndent", null);
-        f.bold = getArg(args, "bold", false);
-        f.bullet = getArg(args, "bullet", null);
-
-        f.size = getArg(args, "size", 18);
-        f.font = getArg(args, "font", "Arial");
-        f.color = getArg(args, "color", 0x000000);
-
+        Util.init(f, initProps, DEFAULT_FORMAT_PROPS);
         return f;
     }

@@ -151,18 +142,11 @@
         _lastSelected = null;
     }

-    /**
-     * Utility function for createTextField() and createFormat().
-     */
-    protected static function getArg (args :Object, name :String, defVal :* = undefined) :*
-    {
-        if (args != null && (name in args)) {
-            return args[name];
-        }
-        return defVal;
-    }
-
     /** The last tracked TextField to be selected. */
     protected static var _lastSelected :TextField;
+
+    protected static const MASK_FIELD_PROPS :Object = { outlineColor: true };
+
+    protected static const DEFAULT_FORMAT_PROPS :Object = { size: 18, font: "_sans" };
 }
 }


MovieClip frames start at 1

MovieClip frames start at 1

--- src/main/as/flump/export/PackedTexture.as
+++ src/main/as/flump/export/PackedTexture.as
@@ -29,7 +29,7 @@
             :PackedTexture {
         const klass :Class = Class(lib.swf.getSymbol(anim.symbol));
         const movie :MovieClip = MovieClip(new klass());
-        movie.gotoAndStop(frame.index);
+        movie.gotoAndStop(frame.index + 1);
         return new PackedTexture(anim.md5, anim.name + "_snapshot_" + frame.index, movie);
     }


Better filter logic.

Better filter logic.

--- HLSPlugin/src/com/kaltura/hls/m2ts/FLVTranscoder.as
+++ HLSPlugin/src/com/kaltura/hls/m2ts/FLVTranscoder.as
@@ -113,8 +113,8 @@
                         keyFrame = false;
             }

-            // Skip access unit delimeters and SPS/PPS data.
-            if(naluType == 7 || naluType == 8 || naluType == 9)
+            // Skip all non VCL data.
+            if(naluType > 6)
                 return;

             // Append.


DisplayUtil.positionBounds()

DisplayUtil.positionBounds()

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

--- src/as/com/threerings/flash/DisplayUtil.as
+++ src/as/com/threerings/flash/DisplayUtil.as
@@ -31,6 +31,17 @@

 public class DisplayUtil
 {
+    /**
+     * Sets the top-left pixel of a DisplayObject to the given location, taking the
+     * object's bounds into account.
+     */
+    public static function positionBounds (disp :DisplayObject, x :Number, y :Number) :void
+    {
+        var bounds :Rectangle = disp.getBounds(disp);
+        disp.x = x - bounds.left;
+        disp.y = y - bounds.top;
+    }
+
     /**
      * Sorts a container's children, using ArrayUtil.stableSort.
      *


passing inherited styles via StyleProxy to sub-components

--- src/com/jabbypanda/controls/InputAssist.as
+++ src/com/jabbypanda/controls/InputAssist.as
@@ -219,47 +219,18 @@
                 list.labelFunction = labelFunction;
                 list.searchMode = searchMode;
                 list.requireSelection = requireSelection;
-                //list.setStyle("highlightBackgroundColor", getStyle("highlightBackgroundColor"));
-                list.styleName = new StyleProxy(this, {}); ;
+                list.styleName = new StyleProxy(this, {});

                 list.addEventListener(HighlightItemListEvent.ITEM_CLICK, onListItemClick);
             }
         }
-
-        // Override the styleChanged() method to detect changes in your new style.
-        override public function styleChanged(styleProp:String):void {
-
-            super.styleChanged(styleProp);
-
-            // Check to see if style changed.
-            if (styleProp == "highlightBackgroundColor") {
-                _highlightBackgroundColorStyleChanged = true;
-                invalidateDisplayList();
-                /*if (list) {
-                    //list.styleChanged(styleProp);
-                } else {
-
-                }*/
-            }
-        }
-
+
         override public function setFocus() : void {
             if (inputTxt) {
                 inputTxt.setFocus();
             }
         }
-
-        override protected function updateDisplayList(unscaledWidth:Number,
-                                                      unscaledHeight:Number):void {
-            super.updateDisplayList(unscaledWidth, unscaledHeight);
-
-            // Check to see if style changed.
-            if (_highlightBackgroundColorStyleChanged) {
-                //list.setStyle("highlightBackgroundColor", getStyle("highlightBackgroundColor"));
-                _highlightBackgroundColorStyleChanged = false;
-            }
-        }
-
+
         protected function set enteredText(t : String) : void {
             _enteredText = t;
             if (inputTxt) {
@@ -432,8 +403,6 @@

         private var _enteredText : String = "";

-        private var _highlightBackgroundColorStyleChanged : Boolean;
-
         private var _labelField : String;

         private var _labelFunction : Function;


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

--- frameworks/projects/advancedgrids/src/mx/collections/Grouping.as
+++ frameworks/projects/advancedgrids/src/mx/collections/Grouping.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.
 //
 ////////////////////////////////////////////////////////////////////////////////


StreamBuffer: beautify logs

StreamBuffer: beautify logs

--- src/org/mangui/hls/stream/StreamBuffer.as
+++ src/org/mangui/hls/stream/StreamBuffer.as
@@ -225,7 +225,7 @@
                             // check if any overlapping occurs, let 500ms tolerance
                             if(startPosition+0.5 < max_audio_pos && startPosition+0.5 < max_video_pos) {
                                 CONFIG::LOGGING {
-                                    Log.warn("fragment overlapping with buffered one, start/end/max_audio_pos/max_video_pos:"+startPosition+"/"+ end + "/" + max_audio_pos+"/"+max_video_pos);
+                                    Log.warn("fragment overlapping with buffered one, start/end/max_audio_pos/max_video_pos:"+startPosition.toFixed(3)+"/"+ end.toFixed(3) + "/" + max_audio_pos.toFixed(3)+"/"+max_video_pos.toFixed(3));
                                 }
                                 _overlappingTags = _overlappingTags.concat(tags);
                                 // filter out overlapping tags


Transferred from the Adobe Open Source Subversion Repository

Revision: 3057
Author:   jimurphy@adobe.com
Date:     2008-09-02T15:18:38.819662Z

Log Message:
-----------
Merged 3.0.x revisions [2966,2969,2995,3004,3018-3019,3023,3029-3030,3046,3049,3052] -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/TileListItemRenderer.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/ModalWindowRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Menu.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/dragClasses/DragProxy.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/PopUpManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/Button.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ColorPicker.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterDragManagerEvent.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/PopUpRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/systemClasses/EventProxy.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateField.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ISystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/tools/dependencychecker/flex/tools/dependencychecker/FrameworkSwcDependencyRules.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/SliderThumb.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/treeClasses/TreeItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/DividedBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/DragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SizeRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/InterManagerRequest.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/InterManagerRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/NativeDragManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FocusRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/rpc/src/mx/rpc/wsdl/WSDL.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/PopUpButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/scrollClasses/ScrollBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/dividedBoxClasses/BoxDivider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Panel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/ToolTipManagerImpl.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootDragEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/managers/WindowedSystemManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBox.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="file" copyfrom-path="/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as" copyfrom-rev="3052" action="A">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxMouseEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManagerProxy.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootRequest.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/utils/EventUtil.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SandboxRootMouseEvent.as</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/DataGrid.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/sliderClasses/Slider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/dataGridClasses/DataGridItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/SWFBridgeRequest.as</path>

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

--- frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as
+++ frameworks/projects/framework/src/mx/managers/SystemManagerGlobals.as
@@ -22,6 +22,10 @@
 	public static var topLevelSystemManagers:Array
 												  /* of SystemManager */ = [];
     public static var bootstrapLoaderInfoURL:String;
+
+	public static var showMouseCursor:Boolean;
+
+	public static var changingListenersInOtherSystemManagers:Boolean;
 }

 }


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

--- frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
+++ frameworks/projects/framework/src/mx/resources/ResourceManagerImpl.as
@@ -31,6 +31,11 @@

 /**
  *  @copy mx.resources.IResourceManager#change
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 [Event(name="change", type="flash.events.Event")]

@@ -75,6 +80,11 @@
      *  This object manages all localized resources for a Flex application.
      *
      *  @return An object implementing IResourceManager.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public static function getInstance():IResourceManager
     {
@@ -92,6 +102,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function ResourceManagerImpl()
     {
@@ -145,6 +160,11 @@

     /**
      *  @copy mx.resources.IResourceManager#localeChain
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function get localeChain():Array /* of String */
     {
@@ -323,6 +343,11 @@

     /**
      *  @copy mx.resources.IResourceManager#initializeLocaleChain()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function initializeLocaleChain(compiledLocales:Array):void
     {
@@ -332,6 +357,11 @@

     /**
      *  @copy mx.resources.IResourceManager#loadResourceModule()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function loadResourceModule(url:String, updateFlag:Boolean = true,
                                        applicationDomain:ApplicationDomain = null,
@@ -416,6 +446,11 @@

     /**
      *  @copy mx.resources.IResourceManager#unloadResourceModule()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function unloadResourceModule(url:String, update:Boolean = true):void
     {
@@ -424,6 +459,11 @@

     /**
      *  @copy mx.resources.IResourceManager#addResourceBundle()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function addResourceBundle(resourceBundle:IResourceBundle):void
     {
@@ -438,6 +478,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getResourceBundle()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getResourceBundle(locale:String,
                                       bundleName:String):IResourceBundle
@@ -451,6 +496,11 @@

     /**
      *  @copy mx.resources.IResourceManager#removeResourceBundle()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeResourceBundle(locale:String, bundleName:String):void
     {
@@ -465,6 +515,11 @@

     /**
      *  @copy mx.resources.IResourceManager#removeResourceBundlesForLocale()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function removeResourceBundlesForLocale(locale:String):void
     {
@@ -473,6 +528,11 @@

     /**
      *  @copy mx.resources.IResourceManager#update()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function update():void
     {
@@ -481,6 +541,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getLocales()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getLocales():Array /* of String */
     {
@@ -494,6 +559,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getPreferredLocaleChain()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getPreferredLocaleChain():Array /* of String */
     {
@@ -503,6 +573,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getBundleNamesForLocale()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getBundleNamesForLocale(locale:String):Array /* of String */
     {
@@ -516,6 +591,11 @@

     /**
      *  @copy mx.resources.findResourceBundleWithResource
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function findResourceBundleWithResource(
                         bundleName:String, resourceName:String):IResourceBundle
@@ -547,6 +627,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getObject()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getObject(bundleName:String, resourceName:String,
                               locale:String = null):*
@@ -563,6 +648,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getString()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getString(bundleName:String, resourceName:String,
                               parameters:Array = null,
@@ -585,6 +675,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getStringArray()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getStringArray(bundleName:String,
                                    resourceName:String,
@@ -612,6 +707,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getNumber()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getNumber(bundleName:String, resourceName:String,
                               locale:String = null):Number
@@ -630,6 +730,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getInt()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getInt(bundleName:String, resourceName:String,
                            locale:String = null):int
@@ -648,6 +753,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getUint()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getUint(bundleName:String, resourceName:String,
                             locale:String = null):uint
@@ -666,6 +776,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getBoolean()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getBoolean(bundleName:String, resourceName:String,
                                locale:String = null):Boolean
@@ -684,6 +799,11 @@

     /**
      *  @copy mx.resources.IResourceManager#getClass()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function getClass(bundleName:String, resourceName:String,
                              locale:String = null):Class
@@ -802,6 +922,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function ResourceModuleInfo(moduleInfo:IModuleInfo,
                                        readyHandler:Function,
@@ -876,6 +1001,11 @@

     /**
      *  Constructor.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     public function ResourceEventDispatcher(moduleInfo:IModuleInfo)
     {


Fixed weird linkBinableProperty() bugs where session state would
alternate between String and Number.

Change-Id: Iccf3f077b3f6ef21468e865d765951bb5e14770f

--- WeaveCore/src/weave/core/SessionManager.as
+++ WeaveCore/src/weave/core/SessionManager.as
@@ -960,8 +960,16 @@

 			// copySessionState is a function that takes zero parameters and sets the bindable value.
 			var setBindableProperty:Function = function():void
-			{
-				bindableParent[bindablePropertyName] = linkableVariable.getSessionState();
+			{
+				var value:Object = linkableVariable.getSessionState();
+				if (bindableParent[bindablePropertyName] is Number && !(value is Number))
+				{
+					try {
+						linkableVariable.setSessionState(Number(value));
+						value = linkableVariable.getSessionState();
+					} catch (e:Error) { }
+				}
+				bindableParent[bindablePropertyName] = value;
 			};
 			// copy session state over to bindable property now, before calling BindingUtils.bindSetter(),
 			// because that will copy from the bindable property to the sessioned property.


Allow a message to be passed to happy testing dumpStack()

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

--- src/as/com/threerings/util/Log.as
+++ src/as/com/threerings/util/Log.as
@@ -87,9 +87,9 @@
      * A convenience function for quickly printing a stack trace
      * to the log, useful for debugging.
      */
-    public static function dumpStack () :void
-    {
-        testing(new Error("dumpStack").getStackTrace());
+    public static function dumpStack (msg :String = "dumpStack") :void
+    {
+        testing(new Error(msg).getStackTrace());
     }

     /**


disabled debug messages

disabled debug messages

--- WeaveCore/src/weave/core/SessionStateLog.as
+++ WeaveCore/src/weave/core/SessionStateLog.as
@@ -39,7 +39,7 @@
 	 */
 	public class SessionStateLog implements ILinkableVariable, IDisposableObject
 	{
-		public static var debug:Boolean = true;
+		public static var debug:Boolean = false;
 		public static var enableHistoryRewrite:Boolean = true; // should be set to true except for debugging

 		public function SessionStateLog(subject:ILinkableObject, syncDelay:uint = 0)


copying changes from WeaveJS

copying changes from WeaveJS

--- WeaveData/src/weave/utils/HierarchyUtils.as
+++ WeaveData/src/weave/utils/HierarchyUtils.as
@@ -277,7 +277,8 @@
 			if (root.equals(descendant))
 				return [root];

-			for each (var child:IWeaveTreeNode in root.getChildren())
+			var childs:Array = root.getChildren();
+			for each (var child:IWeaveTreeNode in childs)
 			{
 				var path:Array = findPathToNode(child, descendant);
 				if (path)
@@ -304,8 +305,11 @@
 			if (ref && ref.getColumnMetadata())
 				output.push(ref);
 			if (node)
-				for each (var child:IWeaveTreeNode in node.getChildren())
+			{
+				var childs:Array = node.getChildren();
+				for each (var child:IWeaveTreeNode in childs)
 					getAllColumnReferences(child, output);
+			}
 			return output;
 		}


InterpUtil: min and max aren't really correct names

--- raw/src/org/yellcorp/lib/core/InterpUtil.as
+++ raw/src/org/yellcorp/lib/core/InterpUtil.as
@@ -5,34 +5,34 @@
     /**
      * Calculates linear interpolation between a minimum and maximum value, based on
      * an interpolant t between 0 and 1.  When
-     * t is 0, inMin is returned.  When
-     * t is 1, inMax is returned.  t
+     * t is 0, v0 is returned.  When
+     * t is 1, v1 is returned.  t
      * is not clamped to a [0, 1] range.
      *
-     * @param inMin The value at t = 0.
-     * @param inMax The value at t = 1.
-     * @param t     Interpolant.
+     * @param v0  The value at t = 0.
+     * @param v1  The value at t = 1.
+     * @param t   Interpolant.
      *
      * @return   The interpolated value.
      */
-    public static function lerp(inMin:Number, inMax:Number, t:Number):Number
+    public static function lerp(v0:Number, v1:Number, t:Number):Number
     {
-        return inMin + t * (inMax - inMin);
+        return v0 + t * (v1 - v0);
     }

     /**
      * Inverse linear interpolation.  Returns the linear interpolant between
-     * inMin and inMax required to return a given value.
+     * v0 and v1 required to return a given value.
      *
-     * @param inMin The value at t = 0.
-     * @param inMax The value at t = 1.
+     * @param v0    The value at t = 0.
+     * @param v1    The value at t = 1.
      * @param value The value for which to find the interpolant.
      *
      * @return   The interpolant.
      */
-    public static function invLerp(inMin:Number, inMax:Number, value:Number):Number
+    public static function invLerp(v0:Number, v1:Number, value:Number):Number
     {
-        return (value - inMin) / (inMax - inMin);
+        return (value - v0) / (v1 - v0);
     }

     /**


辅助函数不使用闭包

辅助函数不使用闭包

--- as3/com/netease/protobuf/messageToString.as
+++ as3/com/netease/protobuf/messageToString.as
@@ -12,30 +12,31 @@
 	public function messageToString(message:Object):String {
 		var s:String = getQualifiedClassName(message) + "(\n"
 		const descriptor:XML = describeType(message)
-		function testField(name:String):void {
-			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.constructor == Array && field.length == 0) {
-				return
-			}
-			s += name + "=" + message[name] + ";\n"
-		}
 		for each(var getter:String in descriptor.accessor.(@access != "writeonly").@name) {
 			if (getter.search(/^has(.)(.*)$/) != -1) {
 				continue
 			}
-			testField(getter)
+			s += fieldToString(message, descriptor, getter)
 		}
 		for each(var field:String in descriptor.variable.@name) {
-			testField(field)
+			s += fieldToString(message, descriptor, field)
 		}
-		for (var k:String in message) {
+		for (var k:* in message) {
 			s += k + "=" + message[k] + ";\n"
 		}
 		s += ")"
 		return s
 	}
 }
+
+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.constructor == Array && field.length == 0) {
+		return ""
+	}
+	return name + "=" + message[name] + ";\n"
+}


LQ-210 Create static trajectory for duks

--- src/com/merlinds/miracle_tool/controllers/SWFSeparatorCommand.as
+++ src/com/merlinds/miracle_tool/controllers/SWFSeparatorCommand.as
@@ -12,6 +12,8 @@
 	import com.merlinds.miracle_tool.models.vo.AnimationVO;
 	import com.merlinds.miracle_tool.models.vo.ElementVO;
 	import com.merlinds.miracle_tool.models.vo.SourceVO;
+
+	import flash.debugger.enterDebugger;

 	import flash.display.DisplayObject;
 	import flash.display.DisplayObjectContainer;
@@ -79,6 +81,10 @@
 				for(j = 0; j < m; j++){
 					elementView = _target.getChildAt(j);
 					elementName = getQualifiedClassName(elementView);
+					if(elementName == "flash.display::Shape")
+					{
+						throw Error("Something wrong");
+					}
 					if(!this.hasElement(elementName)){
 						element = new ElementVO(elementName, elementView);
 						_elements.push(element);


Fixes incorrect import - how did this get into master?

--- as3/src/ember/io/ComponentConfigFactory.as
+++ as3/src/ember/io/ComponentConfigFactory.as
@@ -1,6 +1,6 @@
 package ember.io
 {
-	import avmplus.getQualifiedClassName;
+	import flash.utils.getQualifiedClassName;

 	import flash.utils.Dictionary;


Reduce animation LOD slightly in TestSceneOld.

--- Bin/Data/Scripts/TestSceneOld.as
+++ Bin/Data/Scripts/TestSceneOld.as
@@ -110,7 +110,7 @@
         object.castShadows = true;
         object.occluder = true;
     }
-
+
     // Create static mushroom with physics
     {
         Node@ newNode = testScene.CreateChild();
@@ -127,19 +127,19 @@
         object.castShadows = true;
         object.occluder = true;
     }
-
+
     // Create mushroom groups
     for (uint i = 0; i < NUM_INSTANCENODES; ++i)
     {
         Node@ newNode = testScene.CreateChild();
         newNode.position = Vector3(Random() * 160 - 80, 0, Random() * 160 - 80);
-
+
         for (uint j = 0; j < NUM_INSTANCES; ++j)
         {
             Vector3 position = Vector3(Random() * 20 - 10, 0, Random() * 20 - 10);
             float angle = Random() * 360;
             float size = 1 + Random() * 2;
-
+
             Node@ instance = newNode.CreateChild();
             instance.position = position;
             instance.rotation = Quaternion(angle, Vector3(0, 1, 0));
@@ -166,6 +166,9 @@
         object.drawDistance = 300;
         object.castShadows = true;
         object.maxLights = 2;
+
+        // Because there are many animated models in the scene, test reducing animation LOD for less CPU use
+        object.animationLodBias = 0.75;

         // Create a capsule shape for detecting collisions
         RigidBody@ body = newNode.CreateComponent("RigidBody");
@@ -235,6 +238,7 @@
         light.shadowDistance = 200;
         light.shadowFadeDistance = 150;
         light.shadowResolution = 0.5;
+
         // The spot lights will not have anything near them, so move the near plane of the shadow camera farther
         // for better shadow depth resolution
         light.shadowNearFarRatio = 0.01;
@@ -447,10 +451,10 @@

         if (key == 'B')
             bloom.active = !bloom.active;
-
+
         if (key == 'F')
             edgeFilter.active = !edgeFilter.active;
-
+
         if (key == 'T')
             debugHud.Toggle(DEBUGHUD_SHOW_PROFILER);

@@ -522,15 +526,15 @@
             newNode.position = cameraNode.position;
             newNode.rotation = cameraNode.rotation;
             newNode.SetScale(0.2);
-
+
             RigidBody@ body = newNode.CreateComponent("RigidBody");
             body.mass = 1.0;
             body.friction = 1.0;
             body.linearVelocity = cameraNode.rotation * Vector3(0.0, 1.0, 10.0);
-
+
             CollisionShape@ shape = newNode.CreateComponent("CollisionShape");
             shape.SetBox(Vector3(1, 1, 1));
-
+
             StaticModel@ object = newNode.CreateComponent("StaticModel");
             object.model = cache.GetResource("Model", "Models/Box.mdl");
             object.material = cache.GetResource("Material", "Materials/StoneSmall.xml");


Transferred from the Adobe Open Source Subversion Repository

Revision: 10323
Author:   jszeto@adobe.com
Date:     2009-09-16T21:21:12.805148Z

Log Message:
-----------
Add URL support to BitmapFill and Border

http://bugs.adobe.com/jira/browse/SDK-23108 - backGroundImage referenced via URL results in runtime error

Add in support for URLs into BitmapFill and BorderSkin.

QE notes: Add tests for BitmapFill source set to a URL
Doc notes: Add notes about URL support
Bugs: SDK-23108
Reviewer: Evtim
Tests run: Border
Is noteworthy for integration: Yes. Source can be URL.

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/BitmapFill.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/BorderSkin.as</path>

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

--- frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
+++ frameworks/projects/spark/src/spark/skins/spark/BorderContainerSkin.as
@@ -186,7 +186,7 @@

             if (bgImage)
             {
-                var bitmapFill:BitmapFill = new BitmapFill();
+                var bitmapFill:BitmapFill = bgRect.fill is BitmapFill ? BitmapFill(bgRect.fill) : new BitmapFill();

                 bitmapFill.source = bgImage;
                 bitmapFill.resizeMode = getStyle("backgroundImageResizeMode");


getOccupants() -> getOccupantIds(), which is more accurate and consistent
with SeatingControl's getPlayerIds().

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

--- src/as/com/threerings/ezgame/EZGameControl.as
+++ src/as/com/threerings/ezgame/EZGameControl.as
@@ -471,7 +471,7 @@
     /**
      * Returns the player ids of all occupants in the game room.
      */
-    public function getOccupants () :Array /* of playerId */
+    public function getOccupantIds () :Array /* of playerId */
     {
         return (callEZCode("getOccupants_v1") as Array);
     }


We don't need to do any flipbook special-casing here anymore

--- exporter/src/main/as/flump/export/DisplayCreator.as
+++ exporter/src/main/as/flump/export/DisplayCreator.as
@@ -12,7 +12,6 @@
 import flump.mold.LayerMold;
 import flump.mold.MovieMold;
 import flump.xfl.XflLibrary;
-import flump.xfl.XflTexture;

 import starling.display.DisplayObject;
 import starling.display.Image;
@@ -40,11 +39,8 @@
     }

     public function instantiateSymbol (id :String) :DisplayObject {
-        const match :Object = FLIPBOOK_TEXTURE.exec(id);
-        if (match != null) return loadTexture(id);
-        const item :* = _lib.get(id);
-        if (item is XflTexture) return loadTexture(XflTexture(item).symbol);
-        else return createMovie(MovieMold(item).id);
+        const imageCreator :ImageCreator = ImageCreator(_imageCreators[id]);
+        return (imageCreator != null ? imageCreator.create() : createMovie(id));
     }

     public function getMemoryUsage (id :String, subtex :Dictionary = null) :int {
@@ -112,8 +108,6 @@
     protected const _maxDrawn :Map = ValueComputingMap.newMapOf(String, calcMaxDrawn);
     protected const _imageCreators :Dictionary = new Dictionary(); //<name, TextureCreator>
     protected var _lib :XflLibrary;
-
-    protected static const FLIPBOOK_TEXTURE :RegExp = /^(.*)_flipbook_(\d+)$/;
 }
 }


increase default max buffer length to 300s

--- src/org/mangui/hls/HLSSettings.as
+++ src/org/mangui/hls/HLSSettings.as
@@ -41,9 +41,9 @@
          * Defines maximum buffer length in seconds.
          * (0 means infinite buffering)
          *
-         * Default is 60.
+         * Default is 300.
          */
-        public static var maxBufferLength : Number = 60;
+        public static var maxBufferLength : Number = 300;
         /**
          * Defines low buffer length in seconds.
          * When crossing down this threshold, HLS will switch to buffering state.


notify end of playback event when buffer size is less than 10ms to avoid missing frames at the end of the playback related to https://github.com/mangui/flashls/issues/119

--- src/org/mangui/hls/stream/HLSNetStream.as
+++ src/org/mangui/hls/stream/HLSNetStream.as
@@ -109,20 +109,20 @@
         }

         // function is called by SCRIPT in FLV
-        public function onID3Data( data:ByteArray ) : void {
+        public function onID3Data(data : ByteArray) : void {
             var dump : String = "unset";
-
+
             // we dump the content as hex to get it to the Javascript in the browser.
-            // from lots of searching, we could use base64, but even then, the decode would
+            // from lots of searching, we could use base64, but even then, the decode would
             // not be native, so hex actually seems more efficient
             dump = Hex.fromArray(data);
-
-            CONFIG::LOGGING {
-                Log.debug("id3:"+dump);
+
+            CONFIG::LOGGING {
+                Log.debug("id3:" + dump);
             }
             _hls.dispatchEvent(new HLSEvent(HLSEvent.ID3_UPDATED, dump));
         }
-
+
         /** Check the bufferlength. **/
         private function _checkBuffer(e : Event) : void {
             var playback_absolute_position : Number;
@@ -149,26 +149,24 @@
             if (!_seek_in_progress) {
                 // check low buffer condition
                 if (buffer < HLSSettings.lowBufferLength) {
-                    if (buffer <= 0.1) {
-                        if (_reached_vod_end) {
-                            // reach end of playlist + playback complete (as buffer is empty).
-                            // stop timer, report event and switch to IDLE mode.
-                            _timer.stop();
-                            CONFIG::LOGGING {
-                                Log.debug("reached end of VOD playlist, notify playback complete");
-                            }
-                            _hls.dispatchEvent(new HLSEvent(HLSEvent.PLAYBACK_COMPLETE));
-                            _setPlaybackState(HLSPlayStates.IDLE);
-                            _setSeekState(HLSSeekStates.IDLE);
-                            return;
+                    if (buffer <= 0.01 && _reached_vod_end) {
+                        /* reach end of playlist + empty buffer :
+                        playback complete : stop timer, report event and switch to IDLE mode. */
+                        _timer.stop();
+                        CONFIG::LOGGING {
+                            Log.debug("reached end of VOD playlist, notify playback complete");
+                        }
+                        _hls.dispatchEvent(new HLSEvent(HLSEvent.PLAYBACK_COMPLETE));
+                        _setPlaybackState(HLSPlayStates.IDLE);
+                        _setSeekState(HLSSeekStates.IDLE);
+                        return;
+                    } else if (buffer <= 0.1 && !_reached_vod_end) {
+                        // pause Netstream in really low buffer condition
+                        super.pause();
+                        if (HLSSettings.minBufferLength == -1) {
+                            _buffer_threshold = _autoBufferManager.minBufferLength;
                         } else {
-                            // pause Netstream in really low buffer condition
-                            super.pause();
-                            if (HLSSettings.minBufferLength == -1) {
-                                _buffer_threshold = _autoBufferManager.minBufferLength;
-                            } else {
-                                _buffer_threshold = HLSSettings.minBufferLength;
-                            }
+                            _buffer_threshold = HLSSettings.minBufferLength;
                         }
                     }
                     // dont switch to buffering state in case we reached end of a VOD playlist


Transferred from the Adobe Open Source Subversion Repository

Revision: 10561
Author:   cframpto@adobe.com
Date:     2009-09-24T01:26:50.541480Z

Log Message:
-----------
Halo ComboBox control did not look very good when using TLFTextField because the spark TextInput obscured the underlying button.  The TextInput border and background needed to be turned off.

Rename ITextInput.showBorder(visible) to ITextInput.showBorderAndBackground(visible).  PARB approved.

Remove TLFTextField from SparkClasses.  UITLFTextField will pull it in.

QE notes:
Doc notes:
Bugs: SDK-23242
Reviewer: Gordon
Tests run: checkintests
Is noteworthy for integration: no

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/SparkClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/mx/controls/TLFTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/TextInput.as</path>

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

--- frameworks/projects/mx/src/mx/controls/ComboBase.as
+++ frameworks/projects/mx/src/mx/controls/ComboBase.as
@@ -1418,7 +1418,7 @@
                 if (border)
                 	border.setActualSize(w, h);
                 textInput.setActualSize(w - arrowWidth, textInputHeight);
-                textInput.showBorder(false);
+                textInput.showBorderAndBackground(false);
                 textInput.move(textInput.x, ((h - textInputHeight - paddingTop - paddingBottom) / 2) + paddingTop);
                 downArrowButton.setActualSize(unscaledWidth, unscaledHeight);
             }
@@ -1429,7 +1429,7 @@
                 	border.setActualSize(w - arrowWidth, h);
                 textInput.setActualSize(w - arrowWidth, h);
                 downArrowButton.setActualSize(arrowWidth, unscaledHeight);
-                textInput.showBorder(true);
+                textInput.showBorderAndBackground(true);
             }
         }


Transferred from the Adobe Open Source Subversion Repository

Revision: 11675
Author:   hmuller@adobe.com
Date:     2009-11-12T00:25:39.300334Z

Log Message:
-----------
Added minValue,maxValue,etc Style/Inspectable metadata tags for tools.

QE notes:
Doc notes:
Bugs: sdk-24100
Reviewer: Glenn
Tests run:
Is noteworthy for integration: yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/supportClasses/GraphicElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/easing/EaseInOutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/Fade.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.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/framework/src/mx/effects/Effect.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/supportClasses/ScrollBar.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/effects/AddAction.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/GradientStroke.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/VideoElement.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Animation.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColorStroke.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/layouts/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/SkinnableDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/primitives/Rect.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/BasicNonInheritingTextStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/graphics/SolidColor.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/TileLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/components/supportClasses/TextBase.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/framework/src/mx/graphics/GradientEntry.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/effects/animation/Keyframe.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/layouts/supportClasses/LayoutBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/styles/metadata/AdvancedInheritingTextStyles.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/components/supportClasses/Range.as</path>

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

--- frameworks/projects/spark/src/spark/effects/Fade.as
+++ frameworks/projects/spark/src/spark/effects/Fade.as
@@ -83,7 +83,7 @@
     //  alphaFrom
     //----------------------------------

-    [Inspectable(category="General", defaultValue="undefined")]
+    [Inspectable(category="General", defaultValue="undefined", minValue="0.0", maxValue="1.0")]

     /**
      *  Initial value of the alpha property, between 0.0 and 1.0,
@@ -106,7 +106,7 @@
     //  alphaTo
     //----------------------------------

-    [Inspectable(category="General", defaultValue="NaN")]
+    [Inspectable(category="General", defaultValue="NaN", minValue="0.0", maxValue="1.0")]

     /**
      *  Final value of the alpha property, between 0.0 and 1.0,


Added 'Expo' as a tweening function usable in CSS transitions

--- src/reprise/css/propertyparsers/Transition.as
+++ src/reprise/css/propertyparsers/Transition.as
@@ -18,6 +18,7 @@
 	import com.robertpenner.easing.Bounce;
 	import com.robertpenner.easing.Circ;
 	import com.robertpenner.easing.Cubic;
+	import com.robertpenner.easing.Expo;
 	import com.robertpenner.easing.Linear;
 	import com.robertpenner.easing.Quad;
 	import com.robertpenner.easing.Quart;
@@ -51,11 +52,11 @@
 			Back : Back,
 			Bounce : Bounce,
 			Circ : Circ,
-			Sine : Sine
+			Sine : Sine,
+			Expo : Expo
 		};

-		public static function parseRepriseTransition(
-			val:String, file:String) : CSSParsingResult
+		public static function parseRepriseTransition(val:String, file:String) : CSSParsingResult
 		{
 			var obj : Object = CSSParsingHelper.removeImportantFlagFromString(val);
 			var important : Boolean = obj.important;


Added getPath().

Added getPath().

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

--- src/as/com/threerings/util/MessageBundle.as
+++ src/as/com/threerings/util/MessageBundle.as
@@ -48,6 +48,14 @@
     }

     /**
+     * Get the path to this bundle.
+     */
+    public function getPath () :String
+    {
+        return _path;
+    }
+
+    /**
      * Returns true if we have a translation mapping for the supplied key,
      * false if not.
      */