Transferred from the Adobe Open Source Subversion Repository

Revision: 6957
Author:   jimurphy@adobe.com
Date:     2009-05-15T16:11:59.737851Z

Log Message:
-----------
Merged beta1 revisions 6898,6906,6913,6915,6917,6926,6930 -> trunk

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ImageHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/Scroller.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/DropDownList.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/TrackBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/StyleManagerImpl.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VRule.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/supportClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/flash-integration/FlexComponentKit.mxp</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/fxg/swf/FXG2SWFTranscoder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/NumericStepper.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/ShapeHelper.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/effects/AnimateTransform.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/Container.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/SystemManager.as</path>
<path kind="dir" action="M">/flex/sdk/trunk</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/spark/components/List.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/HRule.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/modules/fxgutils/src/java/com/adobe/internal/fxg/dom/filters/GlowFilterNode.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/FlexComponentKit.mxi</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/fxgutils/src/java/com/adobe/internal/fxg/swf/TypeHelper.java</path>

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

--- frameworks/projects/spark/src/spark/effects/AnimateTransform.as
+++ frameworks/projects/spark/src/spark/effects/AnimateTransform.as
@@ -1163,7 +1163,9 @@
             var instance:AnimateTransformInstance =
                 AnimateTransformInstance(transformInstancePerTarget[target]);
             initInstance(instance);
-            return instance;
+            // return null to indicate that there is no 'new' instance. This
+            // keeps it from being redundantly added to composite effects
+            return null;
         }
     }


Fails on error when instance type is null

--- src/asfac.tests/src/com/thedevstop/asfac/RegistrationTests.as
+++ src/asfac.tests/src/com/thedevstop/asfac/RegistrationTests.as
@@ -111,5 +111,17 @@

 			assertThrows(IllegalOperationError, registerFunc);
 		}
+
+		public function test_should_error_when_instance_type_is_null():void
+		{
+			var factory:AsFactory = new AsFactory();
+
+			var registerFunc:Function = function():void
+			{
+				factory.registerType(null, Dictionary);
+			};
+
+			assertThrows(IllegalOperationError, registerFunc);
+		}
 	}
 }


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.printing
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5201
Author:   egeorgie@adobe.com
Date:     2009-03-07T02:17:47.081375Z

Log Message:
-----------
Updates to the LayoutBase, mostly asdocs.

QE Notes: None
Doc Notes:
Bugs: None
Reviewer: Hans
tests: checkintests, mustella (group, layout)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/baseClasses/GroupBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/HorizontalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/VerticalLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/layout/LayoutBase.as</path>

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

--- frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
+++ frameworks/projects/spark/src/spark/layouts/VerticalLayout.as
@@ -67,7 +67,7 @@
         }
         else
         {
-            if (hasPercentWidth(layoutElement))
+            if (!isNaN(layoutElement.percentWidth))
                newWidth = calculatePercentWidth(layoutElement, width);
         }

@@ -1127,7 +1127,7 @@
                     continue;

                 var layoutElementWidth:Number;
-                if (hasPercentWidth(layoutElement))
+                if (!isNaN(layoutElement.percentWidth))
                     layoutElementWidth = calculatePercentWidth(layoutElement, targetWidth);
                 else
                     layoutElementWidth = layoutElement.getPreferredBoundsWidth();
@@ -1249,7 +1249,7 @@
                 continue;
             }

-            if (hasPercentHeight(layoutElement) && variableRowHeight)
+            if (!isNaN(layoutElement.percentHeight) && variableRowHeight)
             {
                 totalPercentHeight += layoutElement.percentHeight;


Error if "Export in frame 1" is not set for a texture

--- exporter/src/main/as/flump/xfl/XflLibrary.as
+++ exporter/src/main/as/flump/xfl/XflLibrary.as
@@ -203,6 +203,14 @@
         log.debug("Parsing for library", "file", path, "isSprite", isSprite, "md5", md5);
         try {
             if (isSprite) {
+                // if "export in first frame" is not set, we won't be able to load the texture
+                // from the swf.
+                // TODO: remove this restriction by loading the entire swf before reading textures?
+                if (!XmlUtil.getBooleanAttr(xml, "linkageExportInFirstFrame", true)) {
+                    addError(location + ":" + XmlUtil.getStringAttr(xml, "linkageClassName"),
+                        ParseError.CRIT, "\"Export in frame 1\" must be set");
+                    return;
+                }
                 var texture :XflTexture = new XflTexture(this, location, xml, md5);
                 if (texture.isValid(swf)) textures.push(texture);
                 else addError(location + ":" + texture.symbol, ParseError.CRIT, "Sprite is empty");


added firstIndex, count and offset arguments for IndexStream.concat()

--- src/aerys/minko/type/stream/IndexStream.as
+++ src/aerys/minko/type/stream/IndexStream.as
@@ -188,19 +188,25 @@
 			return _data.toString();
 		}

-		public function concat(indexStream : IndexStream) : void
+		public function concat(indexStream : IndexStream,
+							   firstIndex	: uint	= 0,
+							   count		: uint	= 0,
+							   offset		: uint 	= 0) : IndexStream
 		{
 			checkReadUsage(indexStream);
 			checkWriteUsage(this);
+

 			var numIndices 	: int 			= _data.length;
 			var toConcat 	: Vector.<uint> = indexStream._data;
-			var numIndices2 : int 			= toConcat.length;
-
-			for (var i : int = 0; i < numIndices2; ++i, ++numIndices)
-				_data[numIndices] = toConcat[i];
-
-			invalidate();
+
+			count ||= toConcat.length;
+			for (var i : int = 0; i < count; ++i, ++numIndices)
+				_data[numIndices] = toConcat[int(firstIndex + i)] + offset;
+
+			invalidate();
+
+			return this;
 		}

 		public function push(indices 	: Vector.<uint>,
@@ -239,50 +245,22 @@
 			_resource.dispose();
 		}

-		/*
-		public static function concat(usage 	: uint,
-									  streams 	: Vector.<IndexStream>) : IndexStream
-		{
-			var numStreams		: int			= streams.length;
-			var data			: Vector.<uint>	= new Vector.<uint>();
-			var totalIndices	: int			= 0;
-			var offset			: int			= 0;
-			var stream			: IndexStream	= null;
-
-			for (var i : int = 0; i < numStreams; ++i)
-			{
-				stream = streams[i];
-
-				checkReadUsage(stream);
-
-				var streamData 	: Vector.<uint>	= streams[i]._data;
-				var numIndices	: int			= streamData.length;
-
-				for (var j : int = 0; j < numIndices; ++j, ++totalIndices)
-					data[totalIndices] = offset + streamData[j];
-
-				offset = totalIndices;
-			}
-
-			stream = new IndexStream(usage);
-
-			stream._data = data;
-			stream._usage = usage;
-			stream.invalidate();
-
-			return stream;
-		}*/
-
 		private static function checkReadUsage(stream : IndexStream) : void
 		{
 			if (!(stream._usage & StreamUsage.READ))
-				throw new Error();
+				throw new Error(
+					'Unable to read from vertex stream: stream usage '
+					+ 'is not set to StreamUsage.READ.'
+				);
 		}

 		private static function checkWriteUsage(stream : IndexStream) : void
 		{
 			if (!(stream._usage & StreamUsage.WRITE))
-				throw new Error();
+				throw new Error(
+					'Unable to write in vertex stream: stream usage '
+					+ 'is not set to StreamUsage.WRITE.'
+				);
 		}

 		public static function dummyData(size : uint, offset : uint = 0) : Vector.<uint>


Whitespace cleanup.

Whitespace cleanup.

--- driver/src/main/flex/org/postgresql/util/DateFormatter.as
+++ driver/src/main/flex/org/postgresql/util/DateFormatter.as
@@ -16,7 +16,7 @@
      * L{1,2}:    Hour in day (1-12), padded to specified length if necessary
      * N{1,2}:    Minutes, padded to specified length if necessary
      * S{1,2}:    Seconds, padded to specified length if necessary
-     * Q{1,3}:    Milliseconds, padded to specified length if necessary
+     * Q{1,3}:    Milliseconds, padded to specified length if necessary
      * </pre>
      * Note that, unlike internally, months are one-indexed. Date formatting is not currently localizable.
      * However, the properties that map to the long and short form of day and month names, as well as
@@ -148,19 +148,19 @@
             }).replace(/\\([YMEDJHKLNSQA])/g, '$1');
         }

-        // pad to specified length using '0'
+        // pad to specified length using '0'
         private function zeroPad(value:String, padLen:int):String {
-        	if (value.length >= padLen) {
-        		return value;
-        	} else if (value.length == padLen - 1) {
-        		return '0' + value;
-        	} else if (value.length == padLen - 2) {
-        		return '00' + value;
-        	} else {
-        		// We don't currently use this, but it's here
-        		// for completeness; we can certainly optimize this
-        		return zeroPad('000' + value, padLen - 3);
-        	}
+            if (value.length >= padLen) {
+                return value;
+            } else if (value.length == padLen - 1) {
+                return '0' + value;
+            } else if (value.length == padLen - 2) {
+                return '00' + value;
+            } else {
+                // We don't currently use this, but it's here
+                // for completeness; we can certainly optimize this
+                return zeroPad('000' + value, padLen - 3);
+            }
         }
     }
 }


stutter: tests

stutter: tests

--- test/stutter/StutterTest.as
+++ test/stutter/StutterTest.as
@@ -20,11 +20,58 @@
 		}

 		[Test]
-		public function stutter():void
+		public function math():void
+		{
+			assertThat('+', eval('(+ 2 3)'), equalTo(5));
+			assertThat('-', eval('(- 2 3)'), equalTo(-1));
+			assertThat('*', eval('(* 2 3)'), equalTo(6));
+			assertThat('/', eval('(/ 6 2)'), equalTo(3));
+		}
+
+		[Test]
+		public function lambdas():void
 		{
 			eval('(label second (quote (lambda (x) (car (cdr x)))))');

 			assertThat(eval('(second (quote (1 2 3)))'), equalTo(2));
+		}
+
+		[Test]
+		public function truth():void
+		{
+			assertThat(eval('t'), equalTo(TRUE));
+		}
+
+		[Test]
+		public function falsey():void
+		{
+			assertThat(eval('nil'), equalTo(FALSE));
+		}
+
+		[Test]
+		public function scoping():void
+		{
+			eval(<![CDATA[
+(label test (quote (lambda (a b c)
+					(+ a (* b c) 4)
+				]]>.toString())
+
+			assertThat(eval('(test 1 2 3)'), equalTo(11));
+		}
+
+		[Ignore]
+		[Test]
+		public function and_():void
+		{
+			eval(<![CDATA[
+(label and (quote (lambda (and_x and_y)
+             			  (if (eq and_x t)
+             			  	  (if (eq and_y t) nil)
+             			  	  nil))))
+				]]>.toString());
+
+			assertThat('true?', eval('(and (eq 2 2) (eq 3 3))'), equalTo(TRUE));
+			assertThat('false?', eval('(and (eq 2 2) (eq 3 4))'), equalTo(FALSE));
 		}

 		private function eval(expression:String):*


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.charts.series
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 23246
Author:   cframpto@adobe.com
Date:     2011-12-20T17:40:08.069454Z

Log Message:
-----------
Rollback 23243.  If comment followed header it was stripped as well.

Modified Paths:
--------------
2361 paths were modified

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

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

 package mx.core
 {


Transferred from the Adobe Open Source Subversion Repository

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

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

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

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

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

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

--- frameworks/projects/framework/src/mx/styles/StyleProxy.as
+++ frameworks/projects/framework/src/mx/styles/StyleProxy.as
@@ -13,7 +13,6 @@
 {

 import mx.core.mx_internal;
-import mx.core.FlexVersion;

 use namespace mx_internal;

@@ -89,9 +88,7 @@
      */
     public function get filterMap():Object
     {
-        return FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 ?
-               null :
-               _filterMap;
+        return _filterMap;
     }

     /**
@@ -202,9 +199,7 @@
      */
     public function get nonInheritingStyles():Object
     {
-        return FlexVersion.compatibilityVersion < FlexVersion.VERSION_3_0 ?
-               _source.nonInheritingStyles :
-               null; // This will always need to get reconstructed
+        return null; // This will always need to get reconstructed
     }

     /**


Transferred from the Adobe Open Source Subversion Repository

Revision: 3756
Author:   gruehle@adobe.com
Date:     2008-10-20T21:38:18.681299Z

Log Message:
-----------
Adding placeholder icons for the Gumbo components that appear in the FB components panel. Where possible, these are simply copies of the Halo icons. There were some that didn't have a direct Halo counterpart, so the closest match was chosen.

QE Notes: None
Doc Notes: None
Bugs: SDK-17668
Reviewer: -

Modified Paths:
--------------
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextInput.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/HGroup.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxScroller.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxDataContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxSpinner.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/graphics/TextGraphic.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxContainer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/VGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxCheckBox.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxNumericStepper.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxTextArea.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/TextView.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVSlider.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxVScrollBar.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/DataGroup.png</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxList.as</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxHScrollBar.png</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/Group.png</path>

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

--- frameworks/projects/spark/src/spark/components/Spinner.as
+++ frameworks/projects/spark/src/spark/components/Spinner.as
@@ -33,6 +33,8 @@
  *  Skin states for this component.
  */
 [SkinStates("normal", "disabled")]
+
+[IconFile("FxSpinner.png")]

 /**
  *  A FxSpinner component selects a value from an


Hide thumbnail image when is playing

Hide thumbnail image when is playing

--- lib/FlashFallback/com/visual/VisualVideo.as
+++ lib/FlashFallback/com/visual/VisualVideo.as
@@ -133,6 +133,7 @@
                     } else if( video.state=='playing' ) {
                         callback('play');
                         callback('playing');
+                        image.visible = false;
                     } else if( video.state=='paused'||video.state=='ready' ) {
                         callback('pause');
                     }


Somehow the return type change didn't come through on the interactive add, but all the spurious line changes did. Fixed.

--- WeaveJS/src/weavejs/net/EntityCache.as
+++ WeaveJS/src/weavejs/net/EntityCache.as
@@ -302,7 +302,7 @@
 				.then(handleEntityHierarchyInfo.bind(this, publicMetadata));
 		}

-		private function handleEntityHierarchyInfo(publicMetadata:Object, result:Array):void
+		private function handleEntityHierarchyInfo(publicMetadata:Object, result:Array):Array
 		{
 			var entityType:String = publicMetadata[ColumnMetadata.ENTITY_TYPE];
 			var infoArray:Array = result || [];


Transferred from the Adobe Open Source Subversion Repository

Revision: 17699
Author:   clucier@adobe.com
Date:     2010-09-14T19:07:33.076891Z

Log Message:
-----------
State-specific property overrides now disable bindings for the base property if present when applied.  Bindings are re-enabled once the override is removed.

QE notes: None
Doc notes: None
Bugs: SDK-25390
Reviewer: Paul
Tests run: Checkin
Is noteworthy for integration: No

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/mxml/rep/StatesModel.java</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/OverrideBase.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetEventHandler.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/binding/BindingManager.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetStyle.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/frameworks/projects/framework/src/mx/states/SetProperty.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/hero_private/modules/compiler/src/java/flex2/compiler/mxml/rep/Model.java</path>

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

--- frameworks/projects/framework/src/mx/states/SetEventHandler.as
+++ frameworks/projects/framework/src/mx/states/SetEventHandler.as
@@ -296,6 +296,11 @@

                     installedHandlers[obj][name] = handlerFunction;
                 }
+
+                // Disable bindings for the base event handler if appropriate. If the binding
+                // fires while our override is applied, the correct value will automatically
+                // be applied when the binding is later enabled.
+                enableBindings(obj, name, false);
             }
         }
         else if (!applied)
@@ -351,6 +356,11 @@
 	            if (deleteObj)
 	                delete installedHandlers[obj];
 	        }
+
+            // Re-enable bindings for the base event handler if appropriate. If the binding
+            // fired while our override was applied, the current value will automatically
+            // be applied once enabled.
+            enableBindings(obj, name);
         }
         else
         {


Transferred from the Adobe Open Source Subversion Repository

Revision: 5135
Author:   egeorgie@adobe.com
Date:     2009-03-02T18:07:53.499277Z

Log Message:
-----------
PARB changes to FxButton
- FxButton is no longer IDataRenderer
- FxToggleButton is no longer ISelectableRenderer
- FxButtonBar's default skin now uses a subclass of FxToggleButton that implements both IDataRenderer and ISelectableRenderer
- "labelField" name of skin parts changed to "labelElement" for all Spark skins.
- Some minor tweaks, renames

QE Notes: None
Doc Notes:
Bugs: None
Reviewer: Glenn
tests: checkintests, mustella (QA ran a cyclone and failing tests are excluded)

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarFirstButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxFocusSkin.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxDefaultItemRenderer.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ItemRenderer.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxVSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarMiddleButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/mxml-2009-manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxToggleButtonSkin.mxml</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/ButtonBarButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarLastButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/manifest.xml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxRadioButtonGroup.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxCheckBoxSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxHSliderSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxRadioButtonSkin.mxml</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/components/FxToggleButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flex4/src/mx/skins/spark/FxButtonBarSkin.mxml</path>

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

--- frameworks/projects/spark/src/spark/components/ToggleButton.as
+++ frameworks/projects/spark/src/spark/components/ToggleButton.as
@@ -18,7 +18,6 @@
 import mx.core.ISelectableRenderer;
 import mx.core.mx_internal;
 import mx.events.FlexEvent;
-import mx.utils.BitFlagUtil;

 /**
  *  Dispatched when the selected property
@@ -98,7 +97,7 @@
  *  @playerversion AIR 1.5
  *  @productversion Flex 4
  */
-public class FxToggleButton extends FxButton implements ISelectableRenderer
+public class FxToggleButton extends FxButton
 {
     include "../core/Version.as";

@@ -119,60 +118,23 @@
     public function FxToggleButton()
     {
         super();
-
-        flags = BitFlagUtil.update(flags, allowDeselectionFlag, true);
     }

-    // -----------------------------------------------------------------------
-    //
-    // Public properties defining the state of the ToggleButton.
-    //
-    // -----------------------------------------------------------------------
-
-    /**
-     *  @private
-     */
-    protected static const selectedFlag:uint = FxButton.lastFlag << 1;
-
-    /**
-     *  @private
-     */
-    protected static const showFocusIndicatorFlag:uint = FxButton.lastFlag << 2;
-
-    /**
-     *  @private
-     */
-    protected static const allowDeselectionFlag:uint = FxButton.lastFlag << 4;
-
-    /**
-     *  @private
-     */
-    protected static const lastFlag:uint = allowDeselectionFlag;
-
-    /**
-     *  true if the button can be set to
-	 *  selected = false
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get allowDeselection():Boolean
-    {
-        return BitFlagUtil.isSet(flags, allowDeselectionFlag);
-    }
-
-    /**
-     *  @private
-     */
-    public function set allowDeselection(value:Boolean):void
-    {
-        if (BitFlagUtil.isSet(flags, allowDeselectionFlag) == value)
-            return;
-
-        flags = BitFlagUtil.update(flags, allowDeselectionFlag, value);
-    }
+    //--------------------------------------------------------------------------
+    //
+    //  Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  selected
+    //----------------------------------
+
+    /**
+     *  @private
+     *  Storage for the allowDeselection property
+     */
+    private var _selected:Boolean;

     [Bindable]

@@ -187,7 +149,7 @@
      */
     public function get selected():Boolean
     {
-        return BitFlagUtil.isSet(flags, selectedFlag);
+        return _selected;
     }

     /**
@@ -195,41 +157,12 @@
      */
     public function set selected(value:Boolean):void
     {
-        if (BitFlagUtil.isSet(flags, selectedFlag) == value)
+        if (value == _selected)
             return;
-
-        flags = BitFlagUtil.update(flags, selectedFlag, value);
-
+
+        _selected = value;
         dispatchEvent(new FlexEvent(FlexEvent.VALUE_COMMIT));
-        invalidateButtonState();
-    }
-
-    /**
-     *  true if the button should display
-     *  as if it has focus even if it doesn't.
-     *
-     *  @langversion 3.0
-     *  @playerversion Flash 10
-     *  @playerversion AIR 1.5
-     *  @productversion Flex 4
-     */
-    public function get showFocusIndicator():Boolean
-    {
-        return BitFlagUtil.isSet(flags, showFocusIndicatorFlag);
-    }
-
-    /**
-     *  @private
-     */
-    public function set showFocusIndicator(value:Boolean):void
-    {
-        if (BitFlagUtil.isSet(flags, showFocusIndicatorFlag) == value)
-            return;
-
-        flags = BitFlagUtil.update(flags, showFocusIndicatorFlag, value);
-
-		mx_internal::drawFocusAnyway = true;
-		drawFocus(value);
+        invalidateSkinState();
     }

     //--------------------------------------------------------------------------
@@ -249,20 +182,22 @@
             return super.getCurrentSkinState() + "AndSelected";
     }

+    //--------------------------------------------------------------------------
+    //
+    //  Event handling
+    //
+    //--------------------------------------------------------------------------
+
     /**
      *  @private
      */
-    override protected function onClick(event:MouseEvent):void
-    {
-        super.onClick(event);
-
-		if (selected && !allowDeselection)
-			return;
-
+    override protected function clickHandler(event:MouseEvent):void
+    {
+        super.clickHandler(event);
         selected = !selected;
         dispatchEvent(new Event(Event.CHANGE));
         event.updateAfterEvent();
     }
 }

-}+}


added hash support

added hash support

--- api/actionscript/AS2/swhx/Deserializer.as
+++ api/actionscript/AS2/swhx/Deserializer.as
@@ -57,11 +57,12 @@
  		return k;
  	}

-	public function deserializeObject(o) {
+	public function deserializeObject(o,isHash) {
+		var e = isHash?104:103; /* h or g */
  		while( true ) {
  			if( pos >= length )
  				throw "Invalid object";
- 			if( buf.charCodeAt(pos) == 103 ) /*g*/
+ 			if( buf.charCodeAt(pos) == e )
  				break;
  			var k = deserialize();
  			if( (typeof k) != "string" )
@@ -138,7 +139,7 @@
  		case 111: // o
 	 		var o = new Object;
 	 		cache.push(o);
-			deserializeObject(o);
+			deserializeObject(o,false);
 			return o;
  		case 114: // r
  			var n = readDigits();
@@ -156,6 +157,11 @@
 	 		throw "Flash deserializer cannot handle classes";
 		case 119: // w
 			throw "Flash deserializer cannot handle enumerations";
+        case 98: // b --- Hashes are handled like objects
+	 		var o = new Object;
+	 		cache.push(o);
+			deserializeObject(o,true);
+			return o;
 		// deprecated
  		case 115: // s
  			var len = readDigits();


Transferred from the Adobe Open Source Subversion Repository

Revision: 16226
Author:   cframpto@adobe.com
Date:     2010-05-19T21:56:02.500748Z

Log Message:
-----------
DataGrid Selection events.

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/Grid.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/supportClasses/GridSelection.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/events/GridSelectionEvent.as</path>
<path kind="file" action="M">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/components/DataGrid.as</path>
<path kind="file" action="A">/private/flex/sdk/branches/flex4_5/frameworks/projects/spark/src/spark/events/GridSelectionEventKind.as</path>

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

--- frameworks/projects/spark/src/spark/events/GridSelectionEvent.as
+++ frameworks/projects/spark/src/spark/events/GridSelectionEvent.as
@@ -0,0 +1,395 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  ADOBE SYSTEMS INCORPORATED
+//  Copyright 2009 Adobe Systems Incorporated
+//  All Rights Reserved.
+//
+//  NOTICE: Adobe permits you to use, modify, and distribute this file
+//  in accordance with the terms of the license agreement accompanying it.
+//
+////////////////////////////////////////////////////////////////////////////////
+
+package spark.events
+{
+
+import flash.events.Event;
+
+/**
+ *  The GridSelectionEvent class represents events that are dispatched when
+ *  the selection changes in a Spark DataGrid as the result of user interaction.
+ *
+ *  @see spark.events.GridSelectionEventKind
+ *  @see spark.components.DataGrid
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.0
+ *  @productversion Flex 4.5
+ */
+public class GridSelectionEvent extends Event
+{
+    include "../core/Version.as";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Class constants
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  The GridSelectionEvent.SELECTION_CHANGE constant defines
+     *  the value of the type property of the event object for a
+     *  selectionChanging event, which indicates that the current
+     *  selection has just been changed.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
type	GridSelectionEvent.SELECTION_CHANGE

+     *

+     *
+     *  @eventType selectionChange
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public static const SELECTION_CHANGE:String = "selectionChange";
+
+    /**
+     *  The GridSelectionEvent.SELECTION_CHANGING constant defines
+     *  the value of the type property of the event object for a
+     *  selectionChanging event, which indicates that the current
+     *  selection is about to change. Call preventDefault() on this event
+     *  to prevent the selection from changing.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
columnCount	The number of columns in
+     *      a cell region.

+     *
columnIndex	The 0-based columnIndex of
+     *      a cell or the origin of a cell region.

+     *
indices	A list of rows.

+     *
kind	The kind of changing event.
+     *       The valid values are defined in GridSelectionEventKind
+     *       class as constants.  This value determines which properties in
+     *       the event are used.

+     *
rowCount	The number of rows in
+     *      a cell region.

+     *
rowIndex	The 0-based rowIndex or a
+     *      row or a cell or the origin of a cell region.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
type	GridSelectionEvent.SELECTION_CHANGING

+     *

+     *
+     *  @eventType selectionChanging
+     *
+     *  @see spark.components.DataGrid
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public static const SELECTION_CHANGING:String = "selectionChanging";
+
+    /**
+     *  The GridSelectionEvent.CARET_CHANGE constant defines
+     *  the value of the type property of the event object for a
+     *  caretChange event, which indicates that the caret position
+     *  has just been changed.  Get the grid's caretRowIndex and
+     *  caretColumnIndex to determine the new caret position.
+     *
+     *
The properties of the event object have the following values:

+     *

+     *
Property	Value

+     *
bubbles	false

+     *
cancelable	false

+     *
columnIndex	The 0-based columnIndex of
+     *      caret position.

+     *
currentTarget	The Object that defines the
+     *       event listener that handles the event. For example, if you use
+     *       myButton.addEventListener() to register an event listener,
+     *       myButton is the value of the currentTarget.

+     *
rowIndex	The 0-based rowIndex of the
+     *      caret position.

+     *
target	The Object that dispatched the event;
+     *       it is not always the Object listening for the event.
+     *       Use the currentTarget property to always access the
+     *       Object listening for the event.

+     *
type	GridSelectionEvent.CARET_CHANGE

+     *

+     *
+     *  @eventType selectionChange
+     *
+     *  @see spark.components.Grid
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public static const CARET_CHANGE:String = "caretChange";
+
+    //--------------------------------------------------------------------------
+    //
+    //  Constructor
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  Constructor.
+     *
+     *  @param type The event type; indicates the action that caused the event.
+     *
+     *  @param bubbles Specifies whether the event can bubble
+     *  up the display list hierarchy.
+     *
+     *  @param cancelable Specifies whether the behavior
+     *  associated with the event can be prevented.
+     *
+     *  @param kind The kind of changing event.  The valid values are defined in
+     *  GridSelectionEventKind class as constants.  This value
+     *  determines which properties in the event are used.
+     *
+     *  @param rowIndex When type is SELECTION_CHANGING and the
+     *  kind is one of GridSelectionEvent.SET_ROW,
+     *  GridSelectionEvent.ADD_ROW, or
+     *  GridSelectionEvent.REMOVE_ROW,
+     *  the 0-based index from the dataProvider of the row,
+     *  and when kind is one of
+     *  GridSelectionEvent.SET_CELL,
+     *  GridSelectionEvent.ADD_CELL,
+     *  GridSelectionEvent.REMOVE_CELL,
+     *  the 0-based index from the dataProvider of origin of the
+     *  cell region.
+     *
+     *  @param columnIndex When type is SELECTION_CHANGING and the
+     *  kind is one of GridSelectionEvent.SET_ROW,
+     *  GridSelectionEvent.ADD_ROW, or
+     *  GridSelectionEvent.REMOVE_ROW,
+     *  the 0-based index from the columns of the row,
+     *  and when kind is one of
+     *  GridSelectionEvent.SET_CELL,
+     *  GridSelectionEvent.ADD_CELL,
+     *  GridSelectionEvent.REMOVE_CELL,
+     *  the 0-based index from the columns of origin of the
+     *  cell region.
+     *
+     *  @param rowCount When type is SELECTION_CHANGING and the
+     *  kind is GridSelectionEvent.SET_CELLS, the number of
+     *  rows in the cell region that is to be selected.  The rows originate
+     *  at rowIndex.
+     *
+     *  @param columnCount When type is SELECTION_CHANGING and the
+     *  kind is GridSelectionEvent.SET_CELLS, the number of
+     *  columns in the cell region that is to be selected.  The columns
+     *  originate at columnIndex.
+     *
+     *  @param indices When type is SELECTION_CHANGING and
+     *  kind is GridSelectionEvent.SET_ROWS,
+     *  a Vector of the row indices that are about to be selected.
+     *
+     *  @see spark.components.DataGrid#columns
+     *  @see spark.components.DataGrid#dataProvider
+     *  @spark.events.GridSelectionEventKind
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 1.5
+     *  @productversion Flex 4
+     */
+    public function GridSelectionEvent(type:String,
+                                       bubbles:Boolean = false,
+                                       cancelable:Boolean = false,
+                                       kind:String = null,
+                                       rowIndex:int = -1,
+                                       columnIndex:int= -1,
+                                       rowCount:int = -1,
+                                       columnCount:int = -1,
+                                       indices:Vector.<int> = null)
+     {
+        super(type, bubbles, cancelable);
+
+        this.kind = kind;
+
+        this.rowIndex = rowIndex;
+        this.columnIndex = columnIndex;
+        this.rowCount = rowCount;
+        this.columnCount = columnCount;
+
+        this.indices = indices;
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    // Properties
+    //
+    //--------------------------------------------------------------------------
+
+    //----------------------------------
+    //  kind
+    //----------------------------------
+
+    /**
+     *  Indicates the kind of event that occurred.
+     *  The property value can be one of the values in the
+     *  GridSelectionEventKind class,
+     *  or null, which indicates that the kind is unknown.
+     *
+     *  @default null
+     *
+     *  @see GridSelectionEventKind
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var kind:String;
+
+
+    //----------------------------------
+    //  rowIndex
+    //----------------------------------
+
+    /**
+     *  The 0-based index of the row in the dataProvider for
+     *  either a row or a cell position, or the origin of a cell region.
+     *
+     *  @default -1
+     *
+     *  @see spark.components.DataGrid#dataProvider
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var rowIndex:int;
+
+    //----------------------------------
+    //  columnIndex
+    //----------------------------------
+
+    /**
+     *  The 0-based index of the column in the columns for
+     *  either a cell position or the origin of a cell region.
+     *
+     *  @default -1
+     *
+     *  @see spark.components.DataGrid#columns
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var columnIndex:int;
+
+    //----------------------------------
+    //  rowCount
+    //----------------------------------
+
+    /**
+     *  If selecting a cell region, the number of rows in the cell region.
+     *
+     *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var rowCount:int;
+
+    //----------------------------------
+    //  columnCount
+    //----------------------------------
+
+    /**
+     *  If selecting a cell region, the number of columns in the cell region.
+     *
+     *  @default -1
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var columnCount:int;
+
+    //----------------------------------
+    //  indices
+    //----------------------------------
+
+    /**
+     *  If selecting multiple rows, a Vector of the row indices.
+     *
+     *  @default null
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.0
+     *  @productversion Flex 4.5
+     */
+    public var indices:Vector.<int>;
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Object
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function toString():String
+    {
+        return formatToString(
+            "GridSelectionEvent", "type",
+            "bubbles", "cancelable", "eventPhase",
+            "kind",
+            "rowIndex","columnIndex", "rowCount", "columnCount",
+            "indices");
+    }
+
+    //--------------------------------------------------------------------------
+    //
+    //  Overridden methods: Event
+    //
+    //--------------------------------------------------------------------------
+
+    /**
+     *  @private
+     */
+    override public function clone():Event
+    {
+        return new GridSelectionEvent(
+            type, bubbles, cancelable, kind,
+            rowIndex, columnIndex, rowCount, columnCount, indices);
+    }
+}
+
+}


XIFF-83 Currently 152 tests, 5 failures and 1 errors.

--- test/org/igniterealtime/xiff/bookmark/GroupChatBookmarkTest.as
+++ test/org/igniterealtime/xiff/bookmark/GroupChatBookmarkTest.as
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2003-2012 Igniterealtime Community Contributors
- *
+ *
  *     Daniel Henninger
  *     Derrick Grigg <dgrigg@rogers.com>
  *     Juga Paazmaya <olavic@gmail.com>
@@ -9,14 +9,14 @@
  *     Sean Voisen <sean@voisen.org>
  *     Mark Walters <mark@yourpalmark.com>
  *     Michael McCarthy <mikeycmccarthy@gmail.com>
- *
- *
+ *
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- *
+ *
  *     http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -26,16 +26,154 @@
 package org.igniterealtime.xiff.bookmark
 {
 	import org.flexunit.asserts.assertEquals;
+	import org.igniterealtime.xiff.core.EscapedJID;

 	public class GroupChatBookmarkTest
 	{
-		[Test( description="Name checking" )]
+		[Test( description="JID checking" )]
+		public function testJid():void
+		{
+			var testValue:EscapedJID = new EscapedJID("batman@gotham-city.gov");
+			var ext:GroupChatBookmark = new GroupChatBookmark(testValue);
+
+			assertEquals( testValue.toString(), ext.jid.toString() );
+		}
+
+		[Test( description="name checking" )]
 		public function testName():void
 		{
-			var nameAttr:String = "batman";
-			var gcBookmark:GroupChatBookmark = new GroupChatBookmark("batman");
+			var testValue:String = "batman";
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"), testValue);

-			assertEquals( nameAttr, gcBookmark.name );
+			assertEquals( testValue, ext.name );
 		}
+
+		[Test( description="autoJoin true checking" )]
+		public function testAutoJoinTrue():void
+		{
+			var testValue:Boolean = true;
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"), "batman", testValue);
+
+			assertEquals( testValue, ext.autoJoin );
+		}
+
+		[Test( description="autoJoin false checking" )]
+		public function testAutoJoinFalse():void
+		{
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"));
+
+			assertEquals( false, ext.autoJoin );
+		}
+
+		[Test( description="nickname checking" )]
+		public function testNickname():void
+		{
+			var testValue:String = "batman";
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"), null, false, testValue);
+
+			assertEquals( testValue, ext.nickname );
+		}
+
+		[Test( description="password checking" )]
+		public function testPassword():void
+		{
+			var testValue:String = "secret";
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"), null, false, null, testValue);
+
+			assertEquals( testValue, ext.password );
+		}
+
+		[Test( description="XML element name checking" )]
+		public function testElement():void
+		{
+			var elementName:String = "conference";
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("batman@gotham-city.gov"));
+			var node:XML = ext.xml;
+
+			assertEquals( elementName, node.localName() );
+		}
+
+		[Test( description="parse from XML - jid" )]
+		public function testParseJid():void
+		{
+			var incoming:XML = <conference name='Council of Oberon'
+                  autojoin='true'
+                  jid='council@conference.underhill.org'>
+				<nick>Puck</nick>
+			  </conference>;
+			var testValue:String = "council@conference.underhill.org";
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("temp@temp.tmp"));
+			ext.xml = incoming;
+
+			assertEquals( testValue, ext.jid.toString() );
+		}
+
+		[Test( description="parse from XML - name" )]
+		public function testParseName():void
+		{
+			var incoming:XML = <conference name='Council of Oberon'
+                  autojoin='true'
+                  jid='council@conference.underhill.org'>
+				<nick>Puck</nick>
+			  </conference>;
+			var testValue:String = "Council of Oberon";
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("temp@temp.tmp"));
+			ext.xml = incoming;
+
+			assertEquals( testValue, ext.name );
+		}
+
+		[Test( description="parse from XML - autoJoin" )]
+		public function testParseAutoJoin():void
+		{
+			var incoming:XML = <conference name='Council of Oberon'
+                  autojoin='true'
+                  jid='council@conference.underhill.org'>
+				<nick>Puck</nick>
+			  </conference>;
+			var testValue:Boolean = true;
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("temp@temp.tmp"));
+			ext.xml = incoming;
+
+			assertEquals( testValue, ext.autoJoin );
+		}
+
+		[Test( description="parse from XML - nickname" )]
+		public function testParseNickname():void
+		{
+			var incoming:XML = <conference name='Council of Oberon'
+                  autojoin='true'
+                  jid='council@conference.underhill.org'>
+				<nick>Puck</nick>
+			  </conference>;
+			var testValue:String = "Puck";
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("temp@temp.tmp"));
+			ext.xml = incoming;
+
+			assertEquals( testValue, ext.nickname );
+		}
+
+		[Test( description="parse from XML - password" )]
+		public function testParsePassword():void
+		{
+			var incoming:XML = <conference name='Council of Oberon'
+                  autojoin='true'
+                  jid='council@conference.underhill.org'>
+				<nick>Puck</nick>
+				<password>OMG do not use</password>
+			  </conference>;
+			var testValue:String = "OMG do not use";
+
+			var ext:GroupChatBookmark = new GroupChatBookmark(new EscapedJID("temp@temp.tmp"));
+			ext.xml = incoming;
+
+			assertEquals( testValue, ext.password );
+		}
+
 	}
 }


Улучшение ошибок

Улучшение ошибок

--- src/main/org/shypl/common/sound/SoundFlow.as
+++ src/main/org/shypl/common/sound/SoundFlow.as
@@ -6,6 +6,7 @@

 	import org.shypl.common.lang.IllegalArgumentException;
 	import org.shypl.common.timeline.GlobalTimeline;
+	import org.shypl.common.timeline.Timeline;
 	import org.shypl.common.util.Cancelable;

 	internal class SoundFlow extends AbstractSoundStream {
@@ -47,7 +48,8 @@
 			}

 			if (_channel === null) {
-				stop();
+				_loop = false;
+				GlobalTimeline.forNextFrame(handleEnd);
 			}
 			else {
 				if (_end != 0) {
@@ -57,10 +59,10 @@
 					_endTask = GlobalTimeline.schedule(_end - start, handleEnd);
 				}
 				_channel.addEventListener(Event.SOUND_COMPLETE, handleSoundComplete);
-			}
-
-			if (system.paused) {
-				pause();
+
+				if (system.paused) {
+					pause();
+				}
 			}
 		}


Don't turn on variableRowHeight for every menu, but do have submenus
inherit their parent's setting.

It turns out, it wasn't just a problem with MediaWrapper. Using any image-based
icon seems to cause flex internal boo-boos. Too weird.

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

--- src/as/com/threerings/flex/CommandMenu.as
+++ src/as/com/threerings/flex/CommandMenu.as
@@ -93,7 +93,6 @@
     public function CommandMenu ()
     {
         super();
-        variableRowHeight = true;

         itemRenderer = new ClassFactory(CommandMenuItemRenderer);

@@ -185,6 +184,7 @@
             menu.maxHeight = this.maxHeight;
             menu.verticalScrollPolicy = this.verticalScrollPolicy;
             menu.arrowScrollPolicy = this.arrowScrollPolicy;
+            menu.variableRowHeight = this.variableRowHeight;

             menu.parentMenu = this;
             menu.owner = this;


:sparkles: green-o-chrome

:sparkles: green-o-chrome

--- index.as
+++ index.as
@@ -60,7 +60,8 @@

   // open_rom("./missile-command.gb");
   // open_rom("./tetris.gb");
-  // open_rom("./dr-mario.gb");
+  // open_rom("./opus5.gb");
+  open_rom("./dr-mario.gb");
   // open_rom("./boxxle.gb");
   // open_rom("./super-mario-land.gb");

@@ -71,10 +72,10 @@
   // won't execute properly without MBC1 support, but the individual
   // Roms will work fine.

-  open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/01-special.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/02-interrupts.gb");

   // PASS
+  // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/01-special.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/03-op sp,hl.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/04-op r,imm.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/05-op rp.gb");
@@ -84,6 +85,8 @@
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/09-op r,r.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/10-bit ops.gb");
   // open_rom("/Users/mehcode/Workspace/gb-test-roms/cpu_instrs/individual/11-op a,(hl).gb");
+
+  // open_rom("../gb-test-roms/halt_bug.gb");

   dump_rom();

@@ -365,6 +368,12 @@
     return;
   }

+  // GPU Register
+  if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
+    gpu_write(address, value);
+    return;
+  }
+
   // Sound Register
   if (
     (address >= 0xFF10 and address <= 0xFF14) or
@@ -372,12 +381,8 @@
     (address >= 0xFF20 and address <= 0xFF26) or
     (address >= 0xFF30 and address <= 0xFF3F)
   ) {
-    return sound_write(address, value);
-  }
-
-  // GPU Register
-  if (address & 0xF0) >= 0x40 and (address & 0xF0) <= 0x70 {
-    return gpu_write(address, value);
+    sound_write(address, value);
+    return;
   }

   // SB – Serial Transfer Data (R/W)
@@ -4301,12 +4306,19 @@

 def cpu_step(): uint8 {
   // IF HALT; just return 4 (cycles)
-  if HALT {
+  if HALT and IME {
     return 4;
   }

   // Get next opcode
   let opcode = mmu_next8();
+
+  // If HALT but interrupts are disabled
+  // FIXME: Trying to recreate the HALT bug -- still not broken the right way
+  if HALT {
+    PC -= 1;
+    HALT = false;
+  }

   // Check if valid/known instruction
   if *((optable as *int64) + opcode) == 0 {
@@ -4337,6 +4349,7 @@
 let gpu_mode: uint8;
 let gpu_mode_clock: uint16;
 let gpu_line: uint8;
+let gpu_line_compare: uint8;

 let gpu_lcd_enable: bool;
 let gpu_window_enable: bool;
@@ -4362,6 +4375,9 @@
 // Scrolling
 let gpu_scy = 0;
 let gpu_scx = 0;
+
+// Palette
+let gpu_palette: uint8 = 0;

 def gpu_init() {
   gpu_framebuffer = malloc(160 * 144);
@@ -4447,7 +4463,6 @@

   // Move to the selected line (to be rendered) and scroll Y
   mapo += (((int64(gpu_line) + int64(gpu_scy)) & 255) >> 3) << 5;
-  // mapo += ((int64(gpu_line) + int64(gpu_scy)) & 0xFF) >> 3;

   // Tile line offset (X-scrolling)
   let lineo = gpu_scx >> 3;
@@ -4463,25 +4478,26 @@

   // Iterate through the entire tile-line
   let tile = int16(*(vram + mapo + lineo));
-  // printf("gpu_td_select: %d\n", gpu_td_select);
-  if gpu_td_select and tile < 128 { tile += 256; }
+  if not gpu_td_select and tile < 128 { tile += 256; }

   let i = 0;
   while i < 160 {
+    // Tile Color Index
+    let color = *(*(*(gpu_tiles + tile) + y) + x);
+
+    // Palette
+    color = (gpu_palette >> (color * 2)) & 0x3;
+
     // Push pixel to framebuffer
-    *(gpu_framebuffer + fbo + i) = *(*(*(gpu_tiles + tile) + y) + x);
-    // *(gpu_framebuffer + fbo + i) = 1;
+    *(gpu_framebuffer + fbo + i) = color;

     x += 1;
     if (x == 8) {
       // Tile ends; pick a new one
       x = 0;
-      // mapo += 1;
-      lineo += 1;
-      lineo &= 31;
+      lineo = (lineo + 1) & 31;
       tile = int16(*(vram + mapo + lineo));
-      // lineo = (lineo + 1) & 31;
-      if gpu_td_select and tile < 128 { tile += 256; }
+      if not gpu_td_select and tile < 128 { tile += 256; }
     }

     i += 1;
@@ -4557,6 +4573,12 @@
   } else if address == 0xFF44 {
     // LY – LCDC Y-Coordinate (R)
     return gpu_line;
+  } else if address == 0xFF45 {
+    // LYC – LY Compare (R/W)
+    return gpu_line_compare;
+  } else if address == 0xFF47 {
+    // BGP – Background Palette (R/W)
+    return gpu_palette;
   }

   printf("warn: unhandled read from GPU register: $%04X\n", address);
@@ -4574,6 +4596,18 @@
     gpu_sprite_size = testb(value, 2);
     gpu_sprite_enable = testb(value, 1);
     gpu_bg_enable = testb(value, 0);
+  } else if address == 0xFF42 {
+    // SCY – Scroll Y (R/W)
+    gpu_scy = value;
+  } else if address == 0xFF43 {
+    // SCX – Scroll X (R/W)
+    gpu_scx = value;
+  } else if address == 0xFF45 {
+    // LYC – LY Compare (R/W)
+    gpu_line_compare = value;
+  } else if address == 0xFF47 {
+    // BGP – Background Palette (R/W)
+    gpu_palette = value;
   } else {
     printf("warn: unhandled write to GPU register: $%04X ($%02X)\n",
       address, value);
@@ -4732,7 +4766,8 @@
     SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);

   // White initial screen
-  SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
+  SDL_SetRenderDrawColor(_renderer, 155, 188, 15, 255);
+  // SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
   SDL_RenderClear(_renderer);
   SDL_RenderPresent(_renderer);
 }
@@ -4747,7 +4782,8 @@

 def sdl_render() {
   // Render
-  SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
+  SDL_SetRenderDrawColor(_renderer, 155, 188, 15, 255);
+  // SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
   SDL_RenderClear(_renderer);

   // Screen is 160x144
@@ -4759,14 +4795,24 @@
     while x < 160 {
       let pixel = *(gpu_framebuffer + (y * 160 + x));

+      // if pixel == 0 {
+      //   SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
+      // } else if pixel == 1 {
+      //   SDL_SetRenderDrawColor(_renderer, 192, 192, 192, 255);
+      // } else if pixel == 2 {
+      //   SDL_SetRenderDrawColor(_renderer, 96, 96, 96, 255);
+      // } else if pixel == 3 {
+      //   SDL_SetRenderDrawColor(_renderer, 0, 0, 0, 255);
+      // }
+
       if pixel == 0 {
-        SDL_SetRenderDrawColor(_renderer, 255, 255, 255, 255);
+        SDL_SetRenderDrawColor(_renderer, 155, 188, 15, 255);
       } else if pixel == 1 {
-        SDL_SetRenderDrawColor(_renderer, 192, 192, 192, 255);
+        SDL_SetRenderDrawColor(_renderer, 139, 179, 15, 255);
       } else if pixel == 2 {
-        SDL_SetRenderDrawColor(_renderer, 96, 96, 96, 255);
+        SDL_SetRenderDrawColor(_renderer, 48, 98, 48, 255);
       } else if pixel == 3 {
-        SDL_SetRenderDrawColor(_renderer, 0, 0, 0, 255);
+        SDL_SetRenderDrawColor(_renderer, 15, 65, 15, 255);
       }

       SDL_RenderDrawPoint(_renderer, c_int(x), c_int(y));


cleanup in item tags

cleanup in item tags

--- flexEditor/src/org/arisgames/editor/view/ItemTagsEditorView.as
+++ flexEditor/src/org/arisgames/editor/view/ItemTagsEditorView.as
@@ -86,6 +86,7 @@
 		public function handleTagClick(evt:MouseEvent):void
 		{
 			trace("ItemTagsEditorView: handleTagClick() called with Selected Index = '" + dg.selectedIndex + "'");
+			if(dg.selectedIndex < 0 || dg.selectedIndex > gameItemTags.length-1) return;
 			if((gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged == "x")
 				AppServices.getInstance().untagItem(GameModel.getInstance().game.gameId, item.itemId, (gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tag_id, new Responder(handleTagItemTag, handleFault));
 			else
@@ -103,12 +104,13 @@
 			else
 			{
 				trace("tagging of ItemTag went well in the database, so now update it from UI datamodel and UI.");
+				if(dg.selectedIndex < 0 || dg.selectedIndex > gameItemTags.length-1) return;
+/*
 				if((gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged == "x")
 					(gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged = "";
 				else
 					(gameItemTags.getItemAt(dg.selectedIndex) as ItemTag).tagged = "x";
-
-				gameItemTagsData.refresh();
+*/
 				this.reloadTheItemTags();
 			}
 		}


Transferred from the Adobe Open Source Subversion Repository

Revision: 20736
Author:   smgilson@adobe.com
Date:     2011-03-09T21:18:00.204102Z

Log Message:
-----------
Merge 20719 - ASDoc updates

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

Modified Paths:
--------------
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITextFormat.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/RuntimeDPIProvider.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/EdgeMetrics.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridColumn.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DeferredInstanceFromFunction.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/advancedgrids/src/mx/controls/advancedDataGridClasses/AdvancedDataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/WindowedApplication.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/IFlexModuleFactory.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/controls/dataGridClasses/DataGridBase.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/mx/src/mx/core/Container.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/spark/src/mx/core/FTETextField.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextInput.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ITextFieldInterface.as</path>
<path kind="dir" action="M">/private/flex/sdk/trunk</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/windowClasses/TitleBar.as</path>
<path kind="file" action="M">/private/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/DPIClassification.as</path>

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

--- frameworks/projects/framework/src/mx/core/DPIClassification.as
+++ frameworks/projects/framework/src/mx/core/DPIClassification.as
@@ -19,22 +19,42 @@
  *
  *  @see spark.components.Application#applicationDPI
  *  @see spark.components.Application#runtimeDPI
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 10
+ *  @playerversion AIR 2.5
+ *  @productversion Flex 4.5
  */
 public final class DPIClassification
 {
     /**
      *  Density value for low-density devices.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public static const DPI_160:Number = 160;

     /**
      *  Density value for medium-density devices.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
      */
     public static const DPI_240:Number = 240;

     /**
      *  Density value for high-density devices.
-     */
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 10
+     *  @playerversion AIR 2.5
+     *  @productversion Flex 4.5
+         */
     public static const DPI_320:Number = 320;
 }
 }


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

--- frameworks/projects/mx/src/mx/controls/listClasses/ListData.as
+++ frameworks/projects/mx/src/mx/controls/listClasses/ListData.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.listClasses
 {


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

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

 package mx.olap
 {


Transferred from the Adobe Open Source Subversion Repository

Revision: 9715
Author:   aharui@adobe.com
Date:     2009-08-27T21:20:28.280781Z

Log Message:
-----------
Introduce tabFocusEnabled to IFocusManagerComponent.  This replaces tabEnabled as the way to remove a component from the tabbing loop.  tabEnabled should be set to true for any component that can receive focus, and tabFocusEnabled determines whether the FocusManager will actually give it focus.  If tabEnabled=false on a non-TextField, the player will sometimes momentarily remove focus and dispatch a focusOut when the component has focus and is later clicked on.  This is now quite common with TLF-based text components so we are forced to make this change.

QE Notes: tests using tabEnabled must now use tabFocusEnabled
Doc Notes: needs documentation
Bugs: SDK-22731
Reviewer: Gordon
API Change: Yes
Is noteworthy for integration: Yes
tests: checkintests cyclone

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/Window.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/core/FlexHTMLLoader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/accordionClasses/AccordionHeader.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/listClasses/ListBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/IFocusManagerComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/airframework/src/mx/controls/HTML.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/flash-integration/src/mx/flash/UIMovieClip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/events/FlexEvent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/Accordion.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/FocusManager.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/core/Container.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/Image.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/TabNavigator.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/SWFLoader.as</path>

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

--- frameworks/projects/mx/src/mx/controls/Menu.as
+++ frameworks/projects/mx/src/mx/controls/Menu.as
@@ -589,6 +589,7 @@
     {
         var menu:Menu = new Menu();
         menu.tabEnabled = false;
+        menu.tabFocusEnabled = false;
         menu.owner = DisplayObjectContainer(FlexGlobals.topLevelApplication);
         menu.showRoot = showRoot;
         popUpMenu(menu, parent, mdp);


Transferred from the Adobe Open Source Subversion Repository

Revision: 10766
Author:   gruehle@adobe.com
Date:     2009-09-30T22:55:55.205927Z

Log Message:
-----------
Re-commit compiler errors for other theme's styles feature. If Style metadata has a "themes" attribute, the style is only valid if that theme is applied.

The Spark theme is applied by default. The halo theme can be specified as a compiler argument or by selecting the "MX Only" component set in Builder.

All other themes need to be applied using theme+= instead of theme=. If you use theme= you will get warnings about styles used in CSS selectors, and errors if you use any theme-specific style as an attribute on an MXML tag.

By default, styles that aren't valid for the current theme are errors. These can be changed to warnings with the report-invalid-styles-as-warnings compiler option.

QE notes: Expect test breakage
Doc notes: The new policy for themes needs to be documented.
Bugs: none yet, but I'm sure there will be some...
Reviewer: Ryan
Tests run: checkintests, cyclone
Is noteworthy for integration: Yes

Modified Paths:
--------------
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/RadioButton.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ToolTip.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/builder/ComponentBuilder.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/css/StylesContainer.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/VideoDisplay.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/rep/MxmlDocument.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/DefaultsConfigurator.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ButtonBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/DateChooser.as</path>
<path kind="file" action="D">/flex/sdk/trunk/frameworks/projects/sparkskins/src/mx/skins/spark/ApplicationBackground.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/managers/CursorManager.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/halo/defaults.css</path>
<path kind="file" action="A">/flex/sdk/trunk/frameworks/themes/Spark/spark.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/CalendarLayout.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/SkinStyles.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/CompilerConfiguration.java</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/TextArea.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/InterfaceCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/ComboBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/containers/ApplicationControlBar.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/tests/basicTests/BasicTests.css</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/DeclarationHandler.java</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/Tree.as</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/skins/halo/ToolTipBorder.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/reflect/Type.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/controls/colorPickerClasses/SwatchPanel.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/reflect/TypeTable.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/tools/PreLink.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/sparkskins/src/SparkSkinsClasses.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/ImplementationCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/common/MxmlConfiguration.java</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler_en.properties</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/mxml/lang/AttributeHandler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/defaults.css</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/framework/src/mx/core/ScrollControlBase.as</path>
<path kind="file" action="M">/flex/sdk/trunk/modules/compiler/src/java/flex2/compiler/fxg/FXGCompiler.java</path>
<path kind="file" action="M">/flex/sdk/trunk/frameworks/projects/spark/src/spark/skins/spark/SkinnableDataContainerSkin.mxml</path>

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

--- frameworks/projects/mx/src/mx/controls/Tree.as
+++ frameworks/projects/mx/src/mx/controls/Tree.as
@@ -1430,7 +1430,7 @@
             listContent.addChildAt(rowBGs, 0);
         }

-        var color:Object;
+        var color:*;
         var colors:Array;
         var depthColors:Boolean = false;

@@ -1444,6 +1444,8 @@
             colors = getStyle("alternatingItemColors");
         }
         color = getStyle("backgroundColor");
+        if (color === undefined)
+            color = 0xFFFFFF;
         if (!colors || colors.length == 0)
 		{
 			while (rowBGs.numChildren > n)


Including Max0 nodes in ArithmeticConstFolder

--- raw/src/org/yellcorp/lib/layout/Layout.as
+++ raw/src/org/yellcorp/lib/layout/Layout.as
@@ -1154,6 +1154,18 @@
             return n;
         }
     }
+    public override function filterMax0Node(n:Max0):ASTNode
+    {
+        if (n.child is Value)
+        {
+            _replacements++;
+            return new Value(n.eval());
+        }
+        else
+        {
+            return n;
+        }
+    }
 }


R variadic encode/decode for clarity: use encode([obj1, obj2, ...]) to encode multiple objects

git-svn-id: 3704838867447408e01268abee7e32a5bd8c3d03@5 5cda2b45-c24c-6f34-eaa9-e0910a1cbe04

--- src/aerys/qark/Qark.as
+++ src/aerys/qark/Qark.as
@@ -51,12 +51,11 @@
 			return FLAG_OBJECT;
 		}

-		public static function encode(...sources) : ByteArray
+		public static function encode(source : *) : ByteArray
 		{
 			var data 	: ByteArray = new ByteArray();

-			for each (var source : * in sources)
-				encodeRecursive(source, data);
+			encodeRecursive(source, data);

 			data.position = 0;

@@ -65,12 +64,7 @@

 		public static function decode(source : ByteArray) : *
 		{
-			var result : Array = new Array();
-
-			while (source.bytesAvailable)
-				result.push(decodeRecursive(source));
-
-			return result.length == 1 ? result[0] : result;
+			return decodeRecursive(source);
 		}

 		public static function encodeRecursive(source : *, target : ByteArray) : void


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

--- frameworks/projects/framework/src/mx/core/IRectangularBorder.as
+++ frameworks/projects/framework/src/mx/core/IRectangularBorder.as
@@ -18,6 +18,11 @@
  *  The IRectangularBorder interface defines the interface that all classes
  *  used for rectangular border skins should implement.
  *
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion Flex 3
  */
 public interface IRectangularBorder extends IBorder
 {
@@ -33,6 +38,11 @@

     /**
      *  @copy mx.skins.RectangularBorder#backgroundImageBounds
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get backgroundImageBounds():Rectangle;
     function set backgroundImageBounds(value:Rectangle):void;
@@ -43,6 +53,11 @@

     /**
      *  @copy mx.skins.RectangularBorder#hasBackgroundImage
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function get hasBackgroundImage():Boolean;

@@ -52,6 +67,11 @@

     /**
      *  @copy mx.skins.RectangularBorder#layoutBackgroundImage()
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion Flex 3
      */
     function layoutBackgroundImage():void;
 }


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

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


Transferred from the Adobe Open Source Subversion Repository

Revision: 5099
Author:   gauravj@adobe.com
Date:     2009-02-27T03:43:02.639229Z

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:
--------------
147 paths were modified

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

--- frameworks/projects/rpc/src/mx/messaging/errors/ChannelError.as
+++ frameworks/projects/rpc/src/mx/messaging/errors/ChannelError.as
@@ -15,6 +15,12 @@
 /**
  *  This is the base class for any channel related errors.
  *  It allows for less granular catch code.
+ *
+ *  @langversion 3.0
+ *  @playerversion Flash 9
+ *  @playerversion AIR 1.1
+ *  @productversion BlazeDS 4
+ *  @productversion LCDS 3
  */
 public class ChannelError extends MessagingError
 {
@@ -29,6 +35,12 @@
 	 *  specified message.
 	 *
 	 *  @param msg String that contains the message that describes the error.
+     *
+     *  @langversion 3.0
+     *  @playerversion Flash 9
+     *  @playerversion AIR 1.1
+     *  @productversion BlazeDS 4
+     *  @productversion LCDS 3
      */
     public function ChannelError(msg:String)
     {