You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2013/10/11 08:45:55 UTC

[01/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Falcon caught a missing import

Updated Branches:
  refs/heads/release4.11.0 bd49b4021 -> 8b561cb1e


Falcon caught a missing import


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/00f5c282
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/00f5c282
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/00f5c282

Branch: refs/heads/release4.11.0
Commit: 00f5c282a213fac67fa95c955d03ea08c094f7fa
Parents: bd49b40
Author: Alex Harui <ah...@apache.org>
Authored: Sun Sep 1 22:20:23 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:33 2013 -0700

----------------------------------------------------------------------
 .../tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml   | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/00f5c282/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
index 5247339..b64bf68 100644
--- a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
+++ b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
@@ -38,6 +38,7 @@
     <mx:Script>
         <![CDATA[
             import mx.graphics.*;
+			import spark.filters.*;
             import spark.primitives.*;
             import spark.primitives.supportClasses.*;
 


[08/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Try to support non-modal windows on top of a modal window

Posted by ah...@apache.org.
Try to support non-modal windows on top of a modal window


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/1a4df288
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/1a4df288
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/1a4df288

Branch: refs/heads/release4.11.0
Commit: 1a4df2886ef669bb8a1a87d38c6502bf5a798933
Parents: 9c5f91e
Author: Alex Harui <ah...@apache.org>
Authored: Thu Sep 5 09:53:08 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:38 2013 -0700

----------------------------------------------------------------------
 .../systemClasses/ActiveWindowManager.as        | 205 +++++++++++--------
 1 file changed, 117 insertions(+), 88 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/1a4df288/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as b/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
index 203f46a..43a083f 100644
--- a/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
+++ b/frameworks/projects/framework/src/mx/managers/systemClasses/ActiveWindowManager.as
@@ -25,16 +25,16 @@ import flash.display.InteractiveObject;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.EventDispatcher;
-import flash.events.IEventDispatcher;
 import flash.events.FocusEvent;
+import flash.events.IEventDispatcher;
 import flash.events.MouseEvent;
 
 import mx.core.IChildList;
 import mx.core.IFlexModuleFactory;
 import mx.core.IRawChildrenContainer;
 import mx.core.IUIComponent;
-import mx.core.mx_internal;
 import mx.core.Singleton;
+import mx.core.mx_internal;
 import mx.events.DynamicEvent;
 import mx.events.Request;
 import mx.managers.IActiveWindowManager;
@@ -428,6 +428,30 @@ public class ActiveWindowManager extends EventDispatcher implements IActiveWindo
 
 	/**
 	 *  @private
+	 */
+	private function findHighestModalForm():int
+	{
+		var n:int = forms.length;
+		var rc:IChildList = systemManager.rawChildren;
+		for (var i:int = n - 1; n >= 0; i--)
+		{
+			var f:Object = forms[i];
+			if (f is DisplayObject)
+			{
+				var index:int = rc.getChildIndex(f as DisplayObject);
+				if (index > 0)
+				{
+					var under:DisplayObject = rc.getChildAt(index - 1);
+					if (under.name == "modalWindow")
+						return i;
+				}
+			}
+		}
+		return 0;
+	}
+	
+	/**
+	 *  @private
 	 *  Track mouse clicks to see if we change top-level forms.
 	 */
 	private function mouseDownHandler(event:MouseEvent):void
@@ -437,106 +461,111 @@ public class ActiveWindowManager extends EventDispatcher implements IActiveWindo
 		    if (!dispatchEvent(new FocusEvent(MouseEvent.MOUSE_DOWN, false, true, InteractiveObject(event.target))))
 			    return;
 
-		if (numModalWindows == 0) // no modal windows are up
+		var startIndex:int = 0;
+		if (numModalWindows > 0)
 		{
-			if (!systemManager.isTopLevelRoot() || forms.length > 1)
+			// if there is a modal window, only non-modal
+			// windows above it are in play
+			startIndex = findHighestModalForm() + 1;
+		}
+		
+		if (!systemManager.isTopLevelRoot() || forms.length > 1)
+		{
+			var n:int = forms.length;
+			var p:DisplayObject = DisplayObject(event.target);
+            var isApplication:Boolean = systemManager.document is IRawChildrenContainer ? 
+                                        IRawChildrenContainer(systemManager.document).rawChildren.contains(p) :
+                                        systemManager.document.contains(p);
+			while (p)
 			{
-				var n:int = forms.length;
-				var p:DisplayObject = DisplayObject(event.target);
-                var isApplication:Boolean = systemManager.document is IRawChildrenContainer ? 
-                                            IRawChildrenContainer(systemManager.document).rawChildren.contains(p) :
-                                            systemManager.document.contains(p);
-				while (p)
+				for (var i:int = startIndex; i < n; i++)
 				{
-					for (var i:int = 0; i < n; i++)
+					var form_i:Object = forms[i];
+                    if (hasEventListener("actualForm"))
+                    {
+					    var request:Request = new Request("actualForm", false, true);
+					    request.value = forms[i];
+                        if (!dispatchEvent(request))
+                            form_i = forms[i].window;
+                    }
+					if (form_i == p)
 					{
-						var form_i:Object = forms[i];
-                        if (hasEventListener("actualForm"))
-                        {
-						    var request:Request = new Request("actualForm", false, true);
-						    request.value = forms[i];
-                            if (!dispatchEvent(request))
-                                form_i = forms[i].window;
-                        }
-						if (form_i == p)
-						{
-							var j:int = 0;
-							var index:int;
-							var newIndex:int;
-							var childList:IChildList;
+						var j:int = 0;
+						var index:int;
+						var newIndex:int;
+						var childList:IChildList;
 
-							if (((p != form) && p is IFocusManagerContainer) ||
-							    (!systemManager.isTopLevelRoot() && p == form))
+						if (((p != form) && p is IFocusManagerContainer) ||
+						    (!systemManager.isTopLevelRoot() && p == form))
+						{
+							if (systemManager.isTopLevelRoot())
+							activate(IFocusManagerContainer(p));
+
+							if (p == systemManager.document)
+                            {
+                                if (hasEventListener("activateApplication"))
+								    dispatchEvent(new Event("activateApplication"));
+                            }
+							else if (p is DisplayObject)
+                            {
+                                if (hasEventListener("activateWindow"))
+									dispatchEvent(new FocusEvent("activateWindow", false, false, InteractiveObject(p)));
+                            }
+						}
+						
+						if (systemManager.popUpChildren.contains(p))
+							childList = systemManager.popUpChildren;
+						else
+							childList = systemManager;
+
+						index = childList.getChildIndex(p); 
+						newIndex = index;
+						
+						//we need to reset n because activating p's 
+						//FocusManager could have caused 
+						//forms.length to have changed. 
+						n = forms.length;
+						for (j = startIndex; j < n; j++)
+						{
+							var f:DisplayObject;
+                            isRemotePopUp = false;
+                            if (hasEventListener("isRemote"))
+                            {
+							    request = new Request("isRemote", false, true);
+							    request.value = forms[j];
+							    var isRemotePopUp:Boolean = false;
+							    if (!dispatchEvent(request))
+									isRemotePopUp = request.value as Boolean;
+                            }
+							if (isRemotePopUp)
 							{
-								if (systemManager.isTopLevelRoot())
-								activate(IFocusManagerContainer(p));
-
-								if (p == systemManager.document)
-                                {
-                                    if (hasEventListener("activateApplication"))
-									    dispatchEvent(new Event("activateApplication"));
-                                }
-								else if (p is DisplayObject)
-                                {
-                                    if (hasEventListener("activateWindow"))
-    									dispatchEvent(new FocusEvent("activateWindow", false, false, InteractiveObject(p)));
-                                }
+								if (forms[j].window is String)
+									continue;
+								f = forms[j].window;
 							}
-							
-							if (systemManager.popUpChildren.contains(p))
-								childList = systemManager.popUpChildren;
-							else
-								childList = systemManager;
-
-							index = childList.getChildIndex(p); 
-							newIndex = index;
-							
-							//we need to reset n because activating p's 
-							//FocusManager could have caused 
-							//forms.length to have changed. 
-							n = forms.length;
-							for (j = 0; j < n; j++)
+							else 
+								f = forms[j];
+							if (isRemotePopUp)
 							{
-								var f:DisplayObject;
-                                isRemotePopUp = false;
-                                if (hasEventListener("isRemote"))
-                                {
-								    request = new Request("isRemote", false, true);
-								    request.value = forms[j];
-								    var isRemotePopUp:Boolean = false;
-								    if (!dispatchEvent(request))
-    									isRemotePopUp = request.value as Boolean;
-                                }
-								if (isRemotePopUp)
-								{
-									if (forms[j].window is String)
-										continue;
-									f = forms[j].window;
-								}
-								else 
-									f = forms[j];
-								if (isRemotePopUp)
-								{
-									var fChildIndex:int = getChildListIndex(childList, f);
-									if (fChildIndex > index)
-										newIndex = Math.max(fChildIndex, newIndex);	
-								}
-								else if (childList.contains(f))
-									if (childList.getChildIndex(f) > index)
-										newIndex = Math.max(childList.getChildIndex(f), newIndex);
+								var fChildIndex:int = getChildListIndex(childList, f);
+								if (fChildIndex > index)
+									newIndex = Math.max(fChildIndex, newIndex);	
 							}
-							if (newIndex > index && !isApplication)
-								childList.setChildIndex(p, newIndex);
-
-							return;
+							else if (childList.contains(f))
+								if (childList.getChildIndex(f) > index)
+									newIndex = Math.max(childList.getChildIndex(f), newIndex);
 						}
+						if (newIndex > index && !isApplication)
+							childList.setChildIndex(p, newIndex);
+
+						return;
 					}
-					p = p.parent;
 				}
+				p = p.parent;
 			}
-			else if (hasEventListener("activateApplication"))
-				dispatchEvent(new Event("activateApplication"));
 		}
+		else if (hasEventListener("activateApplication"))
+			dispatchEvent(new Event("activateApplication"));
 	}
 
 	/**


[02/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - FLEX-33052: fix chart initStyles() methods in modules and subapps when some styles are in parent app

Posted by ah...@apache.org.
FLEX-33052: fix chart initStyles() methods in modules and subapps when some styles are in parent app


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/7a6be43c
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/7a6be43c
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/7a6be43c

Branch: refs/heads/release4.11.0
Commit: 7a6be43c7dfd8a66300312dc5b65a997202bceb9
Parents: 00f5c28
Author: Alex Harui <ah...@apache.org>
Authored: Sun Sep 1 22:21:31 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:34 2013 -0700

----------------------------------------------------------------------
 .../projects/charts/src/mx/charts/AreaChart.as  | 19 +++--
 .../charts/src/mx/charts/AxisRenderer.as        | 73 +++++++++++-------
 .../projects/charts/src/mx/charts/BarChart.as   | 17 +++--
 .../charts/src/mx/charts/BubbleChart.as         | 19 +++--
 .../charts/src/mx/charts/CandlestickChart.as    | 63 ++++++++--------
 .../charts/src/mx/charts/ColumnChart.as         | 18 +++--
 .../projects/charts/src/mx/charts/GridLines.as  | 24 +++---
 .../projects/charts/src/mx/charts/HLOCChart.as  | 70 +++++++++---------
 .../projects/charts/src/mx/charts/LineChart.as  | 60 +++++++--------
 .../projects/charts/src/mx/charts/PieChart.as   | 10 ++-
 .../projects/charts/src/mx/charts/PlotChart.as  | 78 ++++++++++----------
 .../mx/charts/chartClasses/CartesianChart.as    |  7 +-
 .../src/mx/charts/chartClasses/ChartBase.as     | 15 ++--
 .../src/mx/charts/chartClasses/PolarChart.as    | 12 +--
 .../charts/src/mx/charts/series/AreaSeries.as   | 24 +++---
 .../charts/src/mx/charts/series/BarSeries.as    | 15 ++--
 .../charts/src/mx/charts/series/BubbleSeries.as | 13 ++--
 .../src/mx/charts/series/CandlestickSeries.as   | 17 +++--
 .../charts/src/mx/charts/series/ColumnSeries.as | 14 ++--
 .../charts/src/mx/charts/series/HLOCSeries.as   | 14 ++--
 .../charts/src/mx/charts/series/LineSeries.as   | 16 ++--
 .../charts/src/mx/charts/series/PieSeries.as    | 16 ++--
 .../charts/src/mx/charts/series/PlotSeries.as   | 14 ++--
 .../charts/src/mx/charts/styles/HaloDefaults.as | 24 ++++++
 24 files changed, 378 insertions(+), 274 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/AreaChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/AreaChart.as b/frameworks/projects/charts/src/mx/charts/AreaChart.as
index 421ea95..d6427f0 100644
--- a/frameworks/projects/charts/src/mx/charts/AreaChart.as
+++ b/frameworks/projects/charts/src/mx/charts/AreaChart.as
@@ -206,7 +206,7 @@ public class AreaChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
@@ -237,13 +237,16 @@ public class AreaChart extends CartesianChart
             f(o, null, HaloDefaults.defaultFills[i]);
         }
 		
-		var areaChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.AreaChart");
-		areaChartStyle.setStyle("chartSeriesStyles", areaChartSeriesStyles);
-		areaChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		areaChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		areaChartStyle.setStyle("horizontalAxisStyleNames", ["hangingCategoryAxis"]);
-		areaChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
-        
+		var areaChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.AreaChart");
+		if (areaChartStyle)
+		{
+			areaChartStyle.setStyle("chartSeriesStyles", areaChartSeriesStyles);
+			areaChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			areaChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			areaChartStyle.setStyle("horizontalAxisStyleNames", ["hangingCategoryAxis"]);
+			areaChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		}
+		
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/AxisRenderer.as b/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
index 1f67d4f..5274aee 100644
--- a/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
+++ b/frameworks/projects/charts/src/mx/charts/AxisRenderer.as
@@ -1100,44 +1100,65 @@ public class AxisRenderer extends DualStyleObject implements IAxisRenderer
     //  Overridden methods: UIComponent
     //
     //--------------------------------------------------------------------------
-
+	
 	/**
 	 *  @private
 	 */
 	private function initStyles():Boolean
 	{
 		HaloDefaults.init(styleManager);
-		var axisRenderer:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.AxisRenderer");
-		axisRenderer.setStyle("axisStroke", new SolidColorStroke(0, 0, 1));
-		axisRenderer.setStyle("tickStroke", new SolidColorStroke(0, 0, 1));
-		axisRenderer.setStyle("minorTickStroke", new SolidColorStroke(0, 0, 1));
+		var axisRenderer:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.AxisRenderer");
+		if (axisRenderer)
+		{
+			axisRenderer.setStyle("axisStroke", new SolidColorStroke(0, 0, 1));
+			axisRenderer.setStyle("tickStroke", new SolidColorStroke(0, 0, 1));
+			axisRenderer.setStyle("minorTickStroke", new SolidColorStroke(0, 0, 1));
+		}
 		
-		var blockCategoryAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".blockCategoryAxis");
-		blockCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 8, 1, false, "normal", "none"));
-		blockCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xFFFFFF, 2, 1, false, "normal", "none"));
+		var blockCategoryAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".blockCategoryAxis");
+		if (blockCategoryAxis)
+		{
+			blockCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 8, 1, false, "normal", "none"));
+			blockCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xFFFFFF, 2, 1, false, "normal", "none"));
+		}
 		
-		var blockNumericAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".blockNumericAxis");
-		blockNumericAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 8, 1, false, "normal", "none"));
-		blockNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
-		blockNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xFFFFFF, 1, 1, false, "normal", "none"));
+		var blockNumericAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".blockNumericAxis");
+		if (blockNumericAxis)
+		{
+			blockNumericAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 8, 1, false, "normal", "none"));
+			blockNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
+			blockNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xFFFFFF, 1, 1, false, "normal", "none"));
+		}
 		
-		var lineNumericAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".linedNumericAxis");
-		lineNumericAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
-		lineNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
-		lineNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+		var lineNumericAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".linedNumericAxis");
+		if (lineNumericAxis)
+		{
+			lineNumericAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+			lineNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
+			lineNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+		}
 		
-		var dashedNumericAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".dashedNumericAxis");
-		dashedNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
-		dashedNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+		var dashedNumericAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".dashedNumericAxis");
+		if (dashedNumericAxis)
+		{
+			dashedNumericAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
+			dashedNumericAxis.setStyle("minorTickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+		}
 		
-		var dashedCategoryAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".dashedCategoryAxis");
-		dashedCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
-		dashedCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xFFFFFF, 2, 1, false, "normal", "none"));
+		var dashedCategoryAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".dashedCategoryAxis");
+		if (dashedCategoryAxis)
+		{
+			dashedCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
+			dashedCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xFFFFFF, 2, 1, false, "normal", "none"));
+		}
 		
-		var hangingCategoryAxis:CSSStyleDeclaration = styleManager.getStyleDeclaration(".hangingCategoryAxis");
-		hangingCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
-		hangingCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
-		hangingCategoryAxis.setStyle("minorTickStroke", new SolidColorStroke(0,0,0));
+		var hangingCategoryAxis:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".hangingCategoryAxis");
+		if (hangingCategoryAxis)
+		{
+			hangingCategoryAxis.setStyle("axisStroke", new SolidColorStroke(0xBBCCDD, 1, 1,false, "normal", "none"));
+			hangingCategoryAxis.setStyle("tickStroke", new SolidColorStroke(0xBBCCDD, 1, 1, false, "normal", "none"));
+			hangingCategoryAxis.setStyle("minorTickStroke", new SolidColorStroke(0,0,0));
+		}
 		return true;
 	}
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/BarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/BarChart.as b/frameworks/projects/charts/src/mx/charts/BarChart.as
index f4a7ba1..06e298d 100644
--- a/frameworks/projects/charts/src/mx/charts/BarChart.as
+++ b/frameworks/projects/charts/src/mx/charts/BarChart.as
@@ -316,19 +316,22 @@ public class BarChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
     
-    
     /**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
-		var barChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.BarChart");
-		barChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
-		barChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		barChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		barChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
-		barChartStyle.setStyle("verticalAxisStyleNames", ["blockCategoryAxis"]);
+		var barChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.BarChart");
+		if (barChartStyle)
+		{
+			barChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
+			barChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			barChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			barChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
+			barChartStyle.setStyle("verticalAxisStyleNames", ["blockCategoryAxis"]);
+		}
+		
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/BubbleChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/BubbleChart.as b/frameworks/projects/charts/src/mx/charts/BubbleChart.as
index bbb606a..311c676 100644
--- a/frameworks/projects/charts/src/mx/charts/BubbleChart.as
+++ b/frameworks/projects/charts/src/mx/charts/BubbleChart.as
@@ -214,20 +214,23 @@ public class BubbleChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
 
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var bubbleChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.BubbleChart");
-		bubbleChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
-		bubbleChartStyle.setStyle("dataTipCalloutStroke", new SolidColorStroke(2,0));
-		bubbleChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		bubbleChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		bubbleChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
-		bubbleChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		var bubbleChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.BubbleChart");
+		if (bubbleChartStyle)
+		{
+			bubbleChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
+			bubbleChartStyle.setStyle("dataTipCalloutStroke", new SolidColorStroke(2,0));
+			bubbleChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			bubbleChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			bubbleChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
+			bubbleChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		}
 		
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/CandlestickChart.as b/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
index 1af209b..63071ff 100644
--- a/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
+++ b/frameworks/projects/charts/src/mx/charts/CandlestickChart.as
@@ -198,7 +198,7 @@ public class CandlestickChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
 
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
@@ -206,36 +206,39 @@ public class CandlestickChart extends CartesianChart
         HaloDefaults.init(styleManager);
 		
 		var candlestickChartSeriesStyles:Array /* of Object */ = [];
-		var csChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.CandlestickChart");
-		csChartStyle.setStyle("chartSeriesStyles", candlestickChartSeriesStyles);
-		csChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		csChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		csChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
-		csChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		var csChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.CandlestickChart");
+		if (csChartStyle)
+		{
+			csChartStyle.setStyle("chartSeriesStyles", candlestickChartSeriesStyles);
+			csChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			csChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			csChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
+			csChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+				
+	        var n:int = HaloDefaults.defaultColors.length;
+	        for (var i:int = 0; i < n; i++)
+	        {
+	            var styleName:String = "haloCandlestickSeries" + i;
+	            candlestickChartSeriesStyles[i] = styleName;
+	            
+	            var o:CSSStyleDeclaration =
+	                HaloDefaults.createSelector("." + styleName, styleManager);
+	            
+	            var f:Function = function(o:CSSStyleDeclaration, boxStroke:Stroke,
+	                                      declineFill:IFill):void
+	            {
+	                o.defaultFactory = function():void
+	                {
+	                    this.boxStroke = boxStroke;
+	                    this.declineFill = declineFill;
+	                }
+	            }
+	            
+	            f(o, new Stroke(HaloDefaults.defaultColors[i], 0, 1),
+	                new SolidColor(HaloDefaults.defaultColors[i]));
+	        }
+		}
 		
-        var n:int = HaloDefaults.defaultColors.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var styleName:String = "haloCandlestickSeries" + i;
-            candlestickChartSeriesStyles[i] = styleName;
-            
-            var o:CSSStyleDeclaration =
-                HaloDefaults.createSelector("." + styleName, styleManager);
-            
-            var f:Function = function(o:CSSStyleDeclaration, boxStroke:Stroke,
-                                      declineFill:IFill):void
-            {
-                o.defaultFactory = function():void
-                {
-                    this.boxStroke = boxStroke;
-                    this.declineFill = declineFill;
-                }
-            }
-            
-            f(o, new Stroke(HaloDefaults.defaultColors[i], 0, 1),
-                new SolidColor(HaloDefaults.defaultColors[i]));
-        }
-        
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/ColumnChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/ColumnChart.as b/frameworks/projects/charts/src/mx/charts/ColumnChart.as
index 816fbe0..a135517 100644
--- a/frameworks/projects/charts/src/mx/charts/ColumnChart.as
+++ b/frameworks/projects/charts/src/mx/charts/ColumnChart.as
@@ -425,20 +425,22 @@ public class ColumnChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var columnChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.ColumnChart");
-		columnChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
-		columnChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		columnChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		columnChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
-		columnChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
-		
+		var columnChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.ColumnChart");
+		if (columnChartStyle)
+		{
+			columnChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
+			columnChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			columnChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			columnChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
+			columnChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		}		
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/GridLines.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/GridLines.as b/frameworks/projects/charts/src/mx/charts/GridLines.as
index 341c926..f9b757f 100644
--- a/frameworks/projects/charts/src/mx/charts/GridLines.as
+++ b/frameworks/projects/charts/src/mx/charts/GridLines.as
@@ -355,15 +355,21 @@ public class GridLines extends ChartElement
 	{
 		HaloDefaults.init(styleManager);
 		
-		var gridLinesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.GridLines");
-		gridLinesStyle.setStyle("horizontalOriginStroke", new SolidColorStroke(0xB0C1D0, 1));
-		gridLinesStyle.setStyle("horizontalStroke", new SolidColorStroke(0xEEEEEE, 0));
-		gridLinesStyle.setStyle("verticalOriginStroke", new SolidColorStroke(0xB0C1D0, 1));
-		gridLinesStyle.setStyle("verticalStroke", new SolidColorStroke(0xEEEEEE, 0));
-		
-		var hgridLinesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration(".horizontalGridLines");
-		hgridLinesStyle.setStyle("horizontalFill", null);
-		hgridLinesStyle.setStyle("verticalFill", null);
+		var gridLinesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.GridLines");
+		if (gridLinesStyle)
+		{
+			gridLinesStyle.setStyle("horizontalOriginStroke", new SolidColorStroke(0xB0C1D0, 1));
+			gridLinesStyle.setStyle("horizontalStroke", new SolidColorStroke(0xEEEEEE, 0));
+			gridLinesStyle.setStyle("verticalOriginStroke", new SolidColorStroke(0xB0C1D0, 1));
+			gridLinesStyle.setStyle("verticalStroke", new SolidColorStroke(0xEEEEEE, 0));
+		}
+			
+		var hgridLinesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, ".horizontalGridLines");
+		if (hgridLinesStyle)
+		{
+			hgridLinesStyle.setStyle("horizontalFill", null);
+			hgridLinesStyle.setStyle("verticalFill", null);
+		}
 		return true;
 	}
 	

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/HLOCChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/HLOCChart.as b/frameworks/projects/charts/src/mx/charts/HLOCChart.as
index 91b7a27..8c72787 100644
--- a/frameworks/projects/charts/src/mx/charts/HLOCChart.as
+++ b/frameworks/projects/charts/src/mx/charts/HLOCChart.as
@@ -194,7 +194,7 @@ public class HLOCChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
@@ -203,39 +203,41 @@ public class HLOCChart extends CartesianChart
         
         var hlocChartSeriesStyles:Array /* of Object */ = [];
 		
-		var hlocChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.HLOCChart");
-		hlocChartStyle.setStyle("chartSeriesStyles", hlocChartSeriesStyles);
-		hlocChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		hlocChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		hlocChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
-		hlocChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
-		
-        var n:int = HaloDefaults.defaultColors.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var styleName:String = "haloHLOCSeries"+i;
-            hlocChartSeriesStyles[i] = styleName;
-            
-            var o:CSSStyleDeclaration =
-                HaloDefaults.createSelector("." + styleName, styleManager);
-            
-            var f:Function = function(o:CSSStyleDeclaration, stroke:Stroke,
-                                      tickStroke:Stroke):void
-            {
-                o.defaultFactory = function():void
-                {
-                    this.closeTickStroke = tickStroke;
-                    this.openTickStroke = tickStroke;
-                    this.stroke = stroke;
-                    this.hlocColor = stroke.color;
-                }
-            }
-            
-            f(o, new Stroke(HaloDefaults.defaultColors[i], 0, 1),
-                new Stroke(HaloDefaults.defaultColors[i], 2, 1,
-                    false, "normal", "none"));
-        }
-        
+		var hlocChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.HLOCChart");
+		if (hlocChartStyle)
+		{
+			hlocChartStyle.setStyle("chartSeriesStyles", hlocChartSeriesStyles);
+			hlocChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			hlocChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			hlocChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
+			hlocChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+			
+	        var n:int = HaloDefaults.defaultColors.length;
+	        for (var i:int = 0; i < n; i++)
+	        {
+	            var styleName:String = "haloHLOCSeries"+i;
+	            hlocChartSeriesStyles[i] = styleName;
+	            
+	            var o:CSSStyleDeclaration =
+	                HaloDefaults.createSelector("." + styleName, styleManager);
+	            
+	            var f:Function = function(o:CSSStyleDeclaration, stroke:Stroke,
+	                                      tickStroke:Stroke):void
+	            {
+	                o.defaultFactory = function():void
+	                {
+	                    this.closeTickStroke = tickStroke;
+	                    this.openTickStroke = tickStroke;
+	                    this.stroke = stroke;
+	                    this.hlocColor = stroke.color;
+	                }
+	            }
+	            
+	            f(o, new Stroke(HaloDefaults.defaultColors[i], 0, 1),
+	                new Stroke(HaloDefaults.defaultColors[i], 2, 1,
+	                    false, "normal", "none"));
+	        }
+		}        
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/LineChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/LineChart.as b/frameworks/projects/charts/src/mx/charts/LineChart.as
index 0b9ade8..79dea55 100644
--- a/frameworks/projects/charts/src/mx/charts/LineChart.as
+++ b/frameworks/projects/charts/src/mx/charts/LineChart.as
@@ -155,35 +155,37 @@ public class LineChart extends CartesianChart
         
         var lineChartSeriesStyles:Array /* of Object */ = [];
 		
-		var lineChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.LineChart");
-		lineChartStyle.setStyle("chartSeriesStyles", lineChartSeriesStyles);
-		lineChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		lineChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		lineChartStyle.setStyle("horizontalAxisStyleNames", ["hangingCategoryAxis"]);
-		lineChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
-        
-        var n:int = HaloDefaults.defaultColors.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var styleName:String = "haloLineSeries" + i;
-            lineChartSeriesStyles[i] = styleName;
-            
-            var o:CSSStyleDeclaration =
-                HaloDefaults.createSelector("." + styleName, styleManager);
-            
-            var f:Function = function(o:CSSStyleDeclaration, stroke:Stroke):void
-            {
-                o.defaultFactory = function():void
-                {
-                    this.lineStroke = stroke;
-                    this.stroke = stroke;
-                    this.lineSegmentRenderer = new ClassFactory(LineRenderer);
-                }
-            }
-            
-            f(o, new Stroke(HaloDefaults.defaultColors[i], 3, 1));
-        }
-        
+		var lineChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.LineChart");
+		if (lineChartStyle)
+		{
+			lineChartStyle.setStyle("chartSeriesStyles", lineChartSeriesStyles);
+			lineChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			lineChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			lineChartStyle.setStyle("horizontalAxisStyleNames", ["hangingCategoryAxis"]);
+			lineChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+	        
+	        var n:int = HaloDefaults.defaultColors.length;
+	        for (var i:int = 0; i < n; i++)
+	        {
+	            var styleName:String = "haloLineSeries" + i;
+	            lineChartSeriesStyles[i] = styleName;
+	            
+	            var o:CSSStyleDeclaration =
+	                HaloDefaults.createSelector("." + styleName, styleManager);
+	            
+	            var f:Function = function(o:CSSStyleDeclaration, stroke:Stroke):void
+	            {
+	                o.defaultFactory = function():void
+	                {
+	                    this.lineStroke = stroke;
+	                    this.stroke = stroke;
+	                    this.lineSegmentRenderer = new ClassFactory(LineRenderer);
+	                }
+	            }
+	            
+	            f(o, new Stroke(HaloDefaults.defaultColors[i], 3, 1));
+	        }
+		}        
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/PieChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/PieChart.as b/frameworks/projects/charts/src/mx/charts/PieChart.as
index 41c5c9d..b1d6694 100644
--- a/frameworks/projects/charts/src/mx/charts/PieChart.as
+++ b/frameworks/projects/charts/src/mx/charts/PieChart.as
@@ -192,10 +192,12 @@ public class PieChart extends PolarChart
     {
         HaloDefaults.init(styleManager);
 		
-		var pieChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.PieChart");
-		pieChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		pieChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		
+		var pieChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.PieChart");
+		if (pieChartStyle)
+		{
+			pieChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			pieChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+		}		
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/PlotChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/PlotChart.as b/frameworks/projects/charts/src/mx/charts/PlotChart.as
index f872900..4e2bdd6 100644
--- a/frameworks/projects/charts/src/mx/charts/PlotChart.as
+++ b/frameworks/projects/charts/src/mx/charts/PlotChart.as
@@ -119,7 +119,7 @@ public class PlotChart extends CartesianChart
     //
     //--------------------------------------------------------------------------
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
@@ -128,43 +128,45 @@ public class PlotChart extends CartesianChart
         
         var plotChartSeriesStyles:Array /* of Object */ = [];
         
-		var plotChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.PlotChart");
-		plotChartStyle.setStyle("chartSeriesStyles", plotChartSeriesStyles);
-		plotChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		plotChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
-		plotChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
-		plotChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
-		
-        var defaultSkins:Array /* of IFactory */ = [ new ClassFactory(DiamondItemRenderer),
-            new ClassFactory(CircleItemRenderer),
-            new ClassFactory(BoxItemRenderer) ];
-        var defaultSizes:Array /* of Number */ = [ 5, 3.5, 3.5 ];
-        
-        var n:int = HaloDefaults.defaultFills.length;
-        for (var i:int = 0; i < n; i++)
-        {
-            var styleName:String = "haloPlotSeries"+i;
-            plotChartSeriesStyles[i] = styleName;
-            
-            var o:CSSStyleDeclaration =
-                HaloDefaults.createSelector("." + styleName, styleManager);
-            
-            var f:Function = function(o:CSSStyleDeclaration, skin:IFactory,
-                                      fill:IFill, radius:Number):void
-            {
-                o.defaultFactory = function():void
-                {
-                    this.fill = fill;
-                    this.itemRenderer = skin;
-                    this.radius = radius
-                }
-            }
-            
-            f(o, defaultSkins[i % defaultSkins.length],
-                HaloDefaults.defaultFills[i],
-                defaultSizes[i % defaultSizes.length]);
-        }
-        
+		var plotChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.PlotChart");
+		if (plotChartStyle)
+		{
+			plotChartStyle.setStyle("chartSeriesStyles", plotChartSeriesStyles);
+			plotChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			plotChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+			plotChartStyle.setStyle("horizontalAxisStyleNames", ["blockNumericAxis"]);
+			plotChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+			
+	        var defaultSkins:Array /* of IFactory */ = [ new ClassFactory(DiamondItemRenderer),
+	            new ClassFactory(CircleItemRenderer),
+	            new ClassFactory(BoxItemRenderer) ];
+	        var defaultSizes:Array /* of Number */ = [ 5, 3.5, 3.5 ];
+	        
+	        var n:int = HaloDefaults.defaultFills.length;
+	        for (var i:int = 0; i < n; i++)
+	        {
+	            var styleName:String = "haloPlotSeries"+i;
+	            plotChartSeriesStyles[i] = styleName;
+	            
+	            var o:CSSStyleDeclaration =
+	                HaloDefaults.createSelector("." + styleName, styleManager);
+	            
+	            var f:Function = function(o:CSSStyleDeclaration, skin:IFactory,
+	                                      fill:IFill, radius:Number):void
+	            {
+	                o.defaultFactory = function():void
+	                {
+	                    this.fill = fill;
+	                    this.itemRenderer = skin;
+	                    this.radius = radius
+	                }
+	            }
+	            
+	            f(o, defaultSkins[i % defaultSkins.length],
+	                HaloDefaults.defaultFills[i],
+	                defaultSizes[i % defaultSizes.length]);
+	        }
+		}        
        return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as b/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
index af9e587..9460f93 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/CartesianChart.as
@@ -787,19 +787,22 @@ public class CartesianChart extends ChartBase
         invalidateProperties();
     }
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var cartesianChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.CartesianChart");
+		var cartesianChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.chartClasses.CartesianChart");
+		if (cartesianChartStyle)
+		{
 		cartesianChartStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
 		cartesianChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
 		cartesianChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
 		cartesianChartStyle.setStyle("horizontalAxisStyleNames", ["blockCategoryAxis"]);
 		cartesianChartStyle.setStyle("verticalAxisStyleNames", ["blockNumericAxis"]);
+		}
 		
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as b/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
index d5932ce..f548052 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/ChartBase.as
@@ -30,7 +30,7 @@ import flash.events.KeyboardEvent;
 import flash.events.MouseEvent;
 import flash.geom.Point;
 import flash.geom.Rectangle;
-import flash.utils.*;
+import flash.utils.Dictionary;
 
 import mx.charts.ChartItem;
 import mx.charts.HitData;
@@ -1859,17 +1859,20 @@ public class ChartBase extends UIComponent implements IFocusManagerComponent
                                priority, useWeakReference);
     }
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var chartBaseStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.ChartBase");
-		chartBaseStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
-		chartBaseStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		chartBaseStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+		var chartBaseStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.chartClasses.ChartBase");
+		if (chartBaseStyle)
+		{
+			chartBaseStyle.setStyle("chartSeriesStyles", HaloDefaults.chartBaseChartSeriesStyles);
+			chartBaseStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			chartBaseStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2));
+		}
 		
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as b/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
index df60f38..1319439 100644
--- a/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
+++ b/frameworks/projects/charts/src/mx/charts/chartClasses/PolarChart.as
@@ -205,17 +205,19 @@ public class PolarChart extends ChartBase
     //
     //--------------------------------------------------------------------------
 
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var polarChartStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.chartClasses.PolarChart");
-		polarChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
-		polarChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2))
-		
+		var polarChartStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.chartClasses.PolarChart");
+		if (polarChartStyle)
+		{
+			polarChartStyle.setStyle("fill", new SolidColor(0xFFFFFF, 0));
+			polarChartStyle.setStyle("calloutStroke", new SolidColorStroke(0x888888,2))
+		}		
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as b/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
index 6fbc951..1b26975 100644
--- a/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/AreaSeries.as
@@ -873,12 +873,15 @@ public class AreaSeries extends Series implements IStackable2
 	{
 		HaloDefaults.init(styleManager);
 		
-		var areaSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.AreaSeries");
-		areaSeriesStyle.setStyle("areaRenderer", new ClassFactory(mx.charts.renderers.AreaRenderer));
-		areaSeriesStyle.setStyle("legendMarkerRenderer", new ClassFactory(AreaSeriesLegendMarker));
-		areaSeriesStyle.setStyle("areaFill", new SolidColor(0x000000));
-		areaSeriesStyle.setStyle("fills", []);
-		areaSeriesStyle.setStyle("stroke", HaloDefaults.pointStroke);
+		var areaSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.AreaSeries");
+		if (areaSeriesStyle)
+		{
+			areaSeriesStyle.setStyle("areaRenderer", new ClassFactory(mx.charts.renderers.AreaRenderer));
+			areaSeriesStyle.setStyle("legendMarkerRenderer", new ClassFactory(AreaSeriesLegendMarker));
+			areaSeriesStyle.setStyle("areaFill", new SolidColor(0x000000));
+			areaSeriesStyle.setStyle("fills", []);
+			areaSeriesStyle.setStyle("stroke", HaloDefaults.pointStroke);
+		}
 		
 		return true;
 	}
@@ -2145,13 +2148,14 @@ public class AreaSeries extends Series implements IStackable2
 
 
 import flash.display.Graphics;
-import mx.charts.series.AreaSeries;
-import mx.graphics.IStroke;
-import mx.graphics.IFill;
-import mx.graphics.Stroke;
 import flash.geom.Rectangle;
+
 import mx.charts.chartClasses.GraphicsUtilities;
+import mx.charts.series.AreaSeries;
+import mx.graphics.IFill;
+import mx.graphics.IStroke;
 import mx.graphics.LinearGradientStroke;
+import mx.graphics.Stroke;
 import mx.skins.ProgrammaticSkin;
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/BarSeries.as b/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
index a19b40b..864e37e 100644
--- a/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/BarSeries.as
@@ -1055,18 +1055,21 @@ public class BarSeries extends Series implements IStackable2, IBar
     //
     //--------------------------------------------------------------------------
     
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var barSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.BarSeries");
-		barSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.BoxItemRenderer));
-		barSeriesStyle.setStyle("fill", new SolidColor(0x000000));
-		barSeriesStyle.setStyle("fills", []);
-		barSeriesStyle.setStyle("stroke", HaloDefaults.emptyStroke);
+		var barSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.BarSeries");
+		if (barSeriesStyle)
+		{
+			barSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.BoxItemRenderer));
+			barSeriesStyle.setStyle("fill", new SolidColor(0x000000));
+			barSeriesStyle.setStyle("fills", []);
+			barSeriesStyle.setStyle("stroke", HaloDefaults.emptyStroke);
+		}
 		
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as b/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
index c84bece..57bfcfb 100644
--- a/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/BubbleSeries.as
@@ -703,11 +703,14 @@ public class BubbleSeries extends Series
 	{
 		HaloDefaults.init(styleManager);
 		
-		var bubbleSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.BubbleSeries");
-		bubbleSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.CircleItemRenderer));
-		bubbleSeriesStyle.setStyle("fill", new SolidColor(0x444444));
-		bubbleSeriesStyle.setStyle("fills", []);
-		bubbleSeriesStyle.setStyle("stroke", new SolidColorStroke(0,1,0.2));
+		var bubbleSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.BubbleSeries");
+		if (bubbleSeriesStyle)
+		{
+			bubbleSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.CircleItemRenderer));
+			bubbleSeriesStyle.setStyle("fill", new SolidColor(0x444444));
+			bubbleSeriesStyle.setStyle("fills", []);
+			bubbleSeriesStyle.setStyle("stroke", new SolidColorStroke(0,1,0.2));
+		}
 		
 		return true;
 	}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as b/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
index 8d1f13b..32959fb 100644
--- a/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/CandlestickSeries.as
@@ -288,13 +288,16 @@ public class CandlestickSeries extends HLOCSeriesBase
     {
         HaloDefaults.init(styleManager);
 		
-		var csSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.CandlestickSeries");
-		csSeriesStyle.setStyle("boxStroke", new SolidColorStroke(0,0));
-		csSeriesStyle.setStyle("declineFill", new SolidColor(0));
-		csSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.CandlestickItemRenderer));
-		csSeriesStyle.setStyle("fill", new SolidColor(0xFFFFFF));
-		csSeriesStyle.setStyle("fills", []);
-		csSeriesStyle.setStyle("stroke", new SolidColorStroke(0,0));
+		var csSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.CandlestickSeries");
+		if (csSeriesStyle)
+		{
+			csSeriesStyle.setStyle("boxStroke", new SolidColorStroke(0,0));
+			csSeriesStyle.setStyle("declineFill", new SolidColor(0));
+			csSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.CandlestickItemRenderer));
+			csSeriesStyle.setStyle("fill", new SolidColor(0xFFFFFF));
+			csSeriesStyle.setStyle("fills", []);
+			csSeriesStyle.setStyle("stroke", new SolidColorStroke(0,0));
+		}
 		
         return true;
     }

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as b/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
index fd37e69..bf81896 100644
--- a/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/ColumnSeries.as
@@ -1050,12 +1050,14 @@ public class ColumnSeries extends Series implements IColumn,IStackable2
     {
         HaloDefaults.init(styleManager);
 		
-		var columnSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.ColumnSeries");
-		columnSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.BoxItemRenderer));
-		columnSeriesStyle.setStyle("fill", new SolidColor(0x000000));
-		columnSeriesStyle.setStyle("fills", []);
-		columnSeriesStyle.setStyle("stroke", HaloDefaults.emptyStroke);
-		
+		var columnSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.ColumnSeries");
+		if (columnSeriesStyle)
+		{
+			columnSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.BoxItemRenderer));
+			columnSeriesStyle.setStyle("fill", new SolidColor(0x000000));
+			columnSeriesStyle.setStyle("fills", []);
+			columnSeriesStyle.setStyle("stroke", HaloDefaults.emptyStroke);
+		}		
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as b/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
index 31804d2..93a5739 100644
--- a/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/HLOCSeries.as
@@ -186,7 +186,6 @@ public class HLOCSeries extends HLOCSeriesBase
 	//
 	//--------------------------------------------------------------------------
 	
-	
 	/**
 	 *  @private
 	 */
@@ -194,11 +193,14 @@ public class HLOCSeries extends HLOCSeriesBase
 	{
 		HaloDefaults.init(styleManager);
 		
-		var hlocSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.HLOCSeries");
-		hlocSeriesStyle.setStyle("closeTickStroke", new SolidColorStroke(0, 3, 1, false, "normal", "none"));
-		hlocSeriesStyle.setStyle("openTickStroke", new SolidColorStroke(0, 3, 1, false, "normal", "none"));
-		hlocSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.HLOCItemRenderer));
-		hlocSeriesStyle.setStyle("stroke", new SolidColorStroke(0,0));
+		var hlocSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.HLOCSeries");
+		if (hlocSeriesStyle)
+		{
+			hlocSeriesStyle.setStyle("closeTickStroke", new SolidColorStroke(0, 3, 1, false, "normal", "none"));
+			hlocSeriesStyle.setStyle("openTickStroke", new SolidColorStroke(0, 3, 1, false, "normal", "none"));
+			hlocSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.HLOCItemRenderer));
+			hlocSeriesStyle.setStyle("stroke", new SolidColorStroke(0,0));
+		}
 		
 		return true;
 	}

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/LineSeries.as b/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
index f68b5b2..08c97c4 100644
--- a/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/LineSeries.as
@@ -880,19 +880,21 @@ public class LineSeries extends Series
     //
     //--------------------------------------------------------------------------
 
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var lineSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.LineSeries");
-		lineSeriesStyle.setStyle("lineSegmentRenderer", new ClassFactory(LineRenderer));
-		lineSeriesStyle.setStyle("fill", new SolidColor(0xFFFFFF));
-		lineSeriesStyle.setStyle("fills", []);
-		lineSeriesStyle.setStyle("lineStroke", new SolidColorStroke(0,3));
-		
+		var lineSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.LineSeries");
+		if (lineSeriesStyle)
+		{
+			lineSeriesStyle.setStyle("lineSegmentRenderer", new ClassFactory(LineRenderer));
+			lineSeriesStyle.setStyle("fill", new SolidColor(0xFFFFFF));
+			lineSeriesStyle.setStyle("fills", []);
+			lineSeriesStyle.setStyle("lineStroke", new SolidColorStroke(0,3));
+		}		
         return true;
     }
     

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/PieSeries.as b/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
index 30198f7..fb64092 100644
--- a/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/PieSeries.as
@@ -1167,7 +1167,6 @@ public class PieSeries extends Series
     //
     //--------------------------------------------------------------------------
 
-	
 	/**
 	 *  @private
 	 */
@@ -1183,12 +1182,14 @@ public class PieSeries extends Series
 			pieFills[i] = HaloDefaults.defaultFills[i];
 		}
 		
-		var pieSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.PieSeries");
-		pieSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.WedgeItemRenderer));
-		pieSeriesStyle.setStyle("fills", pieFills);
-		pieSeriesStyle.setStyle("legendMarkerRenderer", new ClassFactory(PieSeriesLegendMarker));
-		pieSeriesStyle.setStyle("calloutStroke", new SolidColorStroke(0,0,1));
-		
+		var pieSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.PieSeries");
+		if (pieSeriesStyle)
+		{
+			pieSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.WedgeItemRenderer));
+			pieSeriesStyle.setStyle("fills", pieFills);
+			pieSeriesStyle.setStyle("legendMarkerRenderer", new ClassFactory(PieSeriesLegendMarker));
+			pieSeriesStyle.setStyle("calloutStroke", new SolidColorStroke(0,0,1));
+		}		
 		return true;
 	}
 	
@@ -3118,6 +3119,7 @@ public class PieSeries extends Series
 
 import flash.display.Graphics;
 import flash.geom.Rectangle;
+
 import mx.charts.chartClasses.LegendData;
 import mx.core.IDataRenderer;
 import mx.graphics.IFill;

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as b/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
index cec1303..7d1c7bb 100644
--- a/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
+++ b/frameworks/projects/charts/src/mx/charts/series/PlotSeries.as
@@ -629,18 +629,20 @@ public class PlotSeries extends Series
     //
     //--------------------------------------------------------------------------
 
-    /**
+	/**
      *  @private
      */
     private function initStyles():Boolean
     {
         HaloDefaults.init(styleManager);
 		
-		var plotSeriesStyle:CSSStyleDeclaration = styleManager.getStyleDeclaration("mx.charts.series.PlotSeries");
-		plotSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.DiamondItemRenderer));
-		plotSeriesStyle.setStyle("fill", new SolidColor(0x4444AA));
-		plotSeriesStyle.setStyle("fills", []);
-		
+		var plotSeriesStyle:CSSStyleDeclaration = HaloDefaults.findStyleDeclaration(styleManager, "mx.charts.series.PlotSeries");
+		if (plotSeriesStyle)
+		{
+			plotSeriesStyle.setStyle("itemRenderer", new ClassFactory(mx.charts.renderers.DiamondItemRenderer));
+			plotSeriesStyle.setStyle("fill", new SolidColor(0x4444AA));
+			plotSeriesStyle.setStyle("fills", []);
+		}		
         return true;
     }
 

http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/7a6be43c/frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as b/frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
index 73d92ad..4fb3e67 100644
--- a/frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
+++ b/frameworks/projects/charts/src/mx/charts/styles/HaloDefaults.as
@@ -220,6 +220,30 @@ public class HaloDefaults
 		}
 	
 	}
+	
+	/**
+	 *  Returns the CSSStyleDeclaration by chasing the chain of styleManagers
+	 *  if necessary.
+	 * 
+	 *  @param name The name of the CSSStyleDeclaration
+	 *  @return The CSSStyleDeclaration or null if not found
+	 */
+	public static function findStyleDeclaration(styleManager:IStyleManager2, name:String):CSSStyleDeclaration
+	{
+		var decl:CSSStyleDeclaration = styleManager.getStyleDeclaration(name);
+		if (!decl)
+		{
+			var sm:IStyleManager2 = styleManager;
+			while (sm.parent)
+			{
+				decl = sm.getStyleDeclaration(name);
+				if (decl)
+					break;
+				sm = sm.parent;
+			}
+		}
+		return decl;
+	}
 }
 
 }


[11/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - merge fixes from develop to release4.11.0

Posted by ah...@apache.org.
merge fixes from develop to release4.11.0


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/8b561cb1
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/8b561cb1
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/8b561cb1

Branch: refs/heads/release4.11.0
Commit: 8b561cb1ef7c5fc174628ceb14c44ca44616f1ec
Parents: bd49b40 67ae8ae
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 10 23:45:22 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:45:22 2013 -0700

----------------------------------------------------------------------
 .../projects/charts/src/mx/charts/AreaChart.as  |  19 +-
 .../charts/src/mx/charts/AxisRenderer.as        |  73 ++++---
 .../projects/charts/src/mx/charts/BarChart.as   |  17 +-
 .../charts/src/mx/charts/BubbleChart.as         |  19 +-
 .../charts/src/mx/charts/CandlestickChart.as    |  63 +++---
 .../charts/src/mx/charts/ColumnChart.as         |  18 +-
 .../projects/charts/src/mx/charts/GridLines.as  |  24 ++-
 .../projects/charts/src/mx/charts/HLOCChart.as  |  70 ++++---
 .../projects/charts/src/mx/charts/LineChart.as  |  60 +++---
 .../projects/charts/src/mx/charts/PieChart.as   |  10 +-
 .../projects/charts/src/mx/charts/PlotChart.as  |  78 +++----
 .../mx/charts/chartClasses/CartesianChart.as    |   7 +-
 .../src/mx/charts/chartClasses/ChartBase.as     |  15 +-
 .../src/mx/charts/chartClasses/PolarChart.as    |  12 +-
 .../charts/src/mx/charts/series/AreaSeries.as   |  24 ++-
 .../charts/src/mx/charts/series/BarSeries.as    |  15 +-
 .../charts/src/mx/charts/series/BubbleSeries.as |  13 +-
 .../src/mx/charts/series/CandlestickSeries.as   |  17 +-
 .../charts/src/mx/charts/series/ColumnSeries.as |  14 +-
 .../charts/src/mx/charts/series/HLOCSeries.as   |  14 +-
 .../charts/src/mx/charts/series/LineSeries.as   |  16 +-
 .../charts/src/mx/charts/series/PieSeries.as    |  16 +-
 .../charts/src/mx/charts/series/PlotSeries.as   |  14 +-
 .../charts/src/mx/charts/styles/HaloDefaults.as |  24 +++
 .../systemClasses/ActiveWindowManager.as        | 205 +++++++++++--------
 .../projects/spark/src/mx/core/FTETextField.as  |  31 ++-
 .../spark/src/spark/components/VScrollBar.as    |  25 ++-
 .../src/java/flash/swf/tools/AbcPrinter.java    | 143 +++++++++++--
 28 files changed, 673 insertions(+), 383 deletions(-)
----------------------------------------------------------------------



[06/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - ScrollBar should defer some of its calculations when styles change to a lifecycle method so things that affect measurement have a chance to be measured.

Posted by ah...@apache.org.
ScrollBar should defer some of its calculations when styles change to a lifecycle method so things that affect measurement have a chance to be measured.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/9c5f91e5
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/9c5f91e5
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/9c5f91e5

Branch: refs/heads/release4.11.0
Commit: 9c5f91e5f25459c34b420c8596bb80adc5441498
Parents: 05833f8
Author: Alex Harui <ah...@apache.org>
Authored: Thu Sep 5 09:52:36 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:37 2013 -0700

----------------------------------------------------------------------
 .../spark/src/spark/components/VScrollBar.as    | 25 +++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/9c5f91e5/frameworks/projects/spark/src/spark/components/VScrollBar.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/VScrollBar.as b/frameworks/projects/spark/src/spark/components/VScrollBar.as
index 144a420..a8afadb 100644
--- a/frameworks/projects/spark/src/spark/components/VScrollBar.as
+++ b/frameworks/projects/spark/src/spark/components/VScrollBar.as
@@ -158,6 +158,8 @@ public class VScrollBar extends ScrollBarBase
     //
     //--------------------------------------------------------------------------
 
+	private var maxAndPageSizeInvalid:Boolean = false;
+	
     private function updateMaximumAndPageSize():void
     {
         var vsp:Number = viewport.verticalScrollPosition;
@@ -523,11 +525,28 @@ public class VScrollBar extends ScrollBarBase
         if (allStyles || styleName == "interactionMode")
         {
             if (viewport)
-                updateMaximumAndPageSize();
+			{
+				// Some of the information needed
+				// is calculated in measure() on a child
+				maxAndPageSizeInvalid = true;
+				invalidateSize();
+			}
         }
     }
-    
-    
+
+	/**
+	 *  @private 
+	 */
+	override protected function measure():void
+	{
+		super.measure();
+		if (maxAndPageSizeInvalid)
+		{
+			maxAndPageSizeInvalid = false;
+			updateMaximumAndPageSize();
+		}
+	}
+	
     /**
      *  @private
      *  Scroll vertically by event.delta "steps".  This listener is added to both the scrollbar 


[10/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Fix FLEX-33428. Proposed fix (adding clearFlag) doesn't actually fix the root problem, it only works because it causes the component to use plain text rendering and the test case has plain text

Posted by ah...@apache.org.
Fix FLEX-33428.  Proposed fix (adding clearFlag) doesn't actually fix the root problem, it only works because it causes the component to use plain text rendering and the test case has plain text to render.  This fix addresses a rather strange behavior in TextContainerManager (TCM).  It assumes that existing TextLines belong to the same textflow.  There is code in TCM's textFlow setter that attempts to remove existing TextLines when the textFlow is changed, but this bug scenario bypasses that and leaves a TextLine created at initialization by the plain text composer when the text hasn't been set yet.  The fix remembers whether plain text or html text composition was last used and if switching, removes existing textfields.  All tests in gumbo/components/FTETextField pass


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/67ae8ae4
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/67ae8ae4
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/67ae8ae4

Branch: refs/heads/release4.11.0
Commit: 67ae8ae4290c28cd1e96f6acb4194e0e5718f276
Parents: 90aa204
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 10 21:38:05 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:41 2013 -0700

----------------------------------------------------------------------
 .../projects/spark/src/mx/core/FTETextField.as  | 31 ++++++++++++++++----
 1 file changed, 25 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/67ae8ae4/frameworks/projects/spark/src/mx/core/FTETextField.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/mx/core/FTETextField.as b/frameworks/projects/spark/src/mx/core/FTETextField.as
index 89b0dc0..dcfbaee 100644
--- a/frameworks/projects/spark/src/mx/core/FTETextField.as
+++ b/frameworks/projects/spark/src/mx/core/FTETextField.as
@@ -48,6 +48,11 @@ package mx.core
     import flash.text.engine.TextLineValidity;
     import flash.utils.Dictionary;
     
+    import mx.managers.SystemManager;
+    import mx.managers.SystemManagerGlobals;
+    
+    import spark.utils.TextUtil;
+    
     import flashx.textLayout.compose.ISWFContext;
     import flashx.textLayout.compose.TextLineRecycler;
     import flashx.textLayout.formats.ITextLayoutFormat;
@@ -56,11 +61,6 @@ package mx.core
     import flashx.textLayout.formats.TextDecoration;
     import flashx.textLayout.formats.TextLayoutFormat;
     
-    import mx.managers.SystemManager;
-    import mx.managers.SystemManagerGlobals;
-    
-    import spark.utils.TextUtil;
-    
     use namespace mx_internal;
     
     /**
@@ -386,6 +386,8 @@ package mx.core
         //
         //--------------------------------------------------------------------------
         
+        private var lastComposeWasText:Boolean;
+        
         /**
          *  @private
          *  Apps are likely to create thousands of instances of FTETextField,
@@ -2526,13 +2528,30 @@ package mx.core
                 
                 if (testFlag(FLAG_HTML_TEXT_SET))
                 {
-                   if (!_htmlHelper.hostFormat)
+                    // if switching composers, remove all existing textlines.
+                    // the html composer assumes existing textlines belonged
+                    // to the flow
+                    if (lastComposeWasText)
+                    {
+                        nextLineIndex = 0;
+                        removeExcessTextLines();
+                    }
+                    lastComposeWasText = false;
+
+                    if (!_htmlHelper.hostFormat)
                         createHostFormat();
                     
                     _htmlHelper.composeHTMLText(compositionWidth, compositionHeight);
                 }
                 else
                 {
+                    if (!lastComposeWasText)
+                    {
+                        nextLineIndex = 0;
+                        removeExcessTextLines();
+                    }
+                    
+                    lastComposeWasText = true;
                     if (!elementFormat)
                         createElementFormat();  
                     


[04/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Revert "Falcon caught a missing import"

Posted by ah...@apache.org.
Revert "Falcon caught a missing import"

This reverts commit 61d5ee46adc8b2b863c2488ee8276fcfea9a7de6.

Turns out we don't need this change.  Falcon needed a different set of default imports.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/05833f88
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/05833f88
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/05833f88

Branch: refs/heads/release4.11.0
Commit: 05833f886719639fc43dfab6a365a369f3112c00
Parents: e8a1d84
Author: Alex Harui <ah...@apache.org>
Authored: Tue Sep 3 12:47:06 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:36 2013 -0700

----------------------------------------------------------------------
 .../tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml   | 1 -
 1 file changed, 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/05833f88/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
index b64bf68..5247339 100644
--- a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
+++ b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
@@ -38,7 +38,6 @@
     <mx:Script>
         <![CDATA[
             import mx.graphics.*;
-			import spark.filters.*;
             import spark.primitives.*;
             import spark.primitives.supportClasses.*;
 


[07/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - add more details to abc output

Posted by ah...@apache.org.
add more details to abc output


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/23d9fda8
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/23d9fda8
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/23d9fda8

Branch: refs/heads/release4.11.0
Commit: 23d9fda8b21fef66527c52fd5813de9057f06976
Parents: 1a4df28
Author: Alex Harui <ah...@apache.org>
Authored: Wed Oct 9 20:39:20 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:38 2013 -0700

----------------------------------------------------------------------
 .../src/java/flash/swf/tools/AbcPrinter.java    | 141 +++++++++++++++++--
 1 file changed, 129 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/23d9fda8/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
----------------------------------------------------------------------
diff --git a/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java b/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
index 8baafa0..4fe4198 100644
--- a/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
+++ b/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
@@ -29,11 +29,13 @@ import java.util.HashMap;
 public class AbcPrinter 
 {
     private byte[] abc;
+    private int abcEnd;
     private PrintWriter out;
     private boolean showOffset;
     private boolean showByteCode;
     private int indent;
     private int offset = 0;
+    private long numMetadata;
 		
     private int[] intConstants;
     private long[] uintConstants;
@@ -42,14 +44,18 @@ public class AbcPrinter
     private String[] namespaceConstants;
     private String[][] namespaceSetConstants;
     private MultiName[] multiNameConstants;
+    private String kAbcCorrupt = "Verify Error: ABC Corrupt";
+
 		
     private MethodInfo[] methods;
     private String[] instanceNames;
+    private String[] Names;
     private String indentString;
 		
     public AbcPrinter(byte[] abc, PrintWriter out, boolean showOffset, int indent, boolean showByteCode)
     {
         this.abc = abc;
+        this.abcEnd = abc.length;
         this.out = out;
         this.showOffset = showOffset;
         this.showByteCode = showByteCode;
@@ -583,6 +589,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Integer Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         intConstants = new int[(n > 0) ? (int)n : 1];
         intConstants[0] = 0;
         for (int i = 1; i < n; i++)
@@ -599,6 +607,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Unsigned Integer Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         uintConstants = new long[(n > 0) ? (int)n : 1];
         uintConstants[0] = 0;
         for (int i = 1; i < n; i++)
@@ -615,6 +625,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Floating Point Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         if (n > 0)
             offset += (n - 1) * 8;
     }
@@ -624,13 +636,21 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " String Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         stringConstants = new String[(n > 0) ? (int)n : 1];
         stringConstants[0] = "";
         for (int i = 1; i < n; i++)
         {
             printOffset();
-            String s = readUTFBytes(readU32());
+            long strlen = readU32();
+            if (((strlen & 0xc0000000) != 0) || abcEnd <= offset + strlen)
+            	out.println(kAbcCorrupt + "strlen");
+            String s = readUTFBytes(strlen);
             stringConstants[i] = s;
+            s = s.replace("\r\n", "\\r\\n");
+            s = s.replace("\n", "\\n");
+            s = s.replace("\r", "\\r");
             out.println(" " + s);
         }
     }
@@ -640,6 +660,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Namespace Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         namespaceConstants = new String[(n > 0) ? (int)n : 1];
         namespaceConstants[0] = "public";
         for (int i = 1; i < n; i++)
@@ -666,11 +688,15 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Namespace Set Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         namespaceSetConstants = new String[(n > 0) ? (int)n : 1][];
         namespaceSetConstants[0] = new String[0];
         for (int i = 1; i < n; i++)
         {
             long val = readU32();
+            if (val > abcEnd - offset)
+               	out.println(kAbcCorrupt);
             String[] nsset = new String[(int)val];
             namespaceSetConstants[i] = nsset;
             for (int j = 0; j < val; j++)
@@ -685,6 +711,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " MultiName Constant Pool Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);       
         multiNameConstants = new MultiName[(n > 0) ? (int)n : 1];
         multiNameConstants[0] = new MultiName();
         for (int i = 1; i < n; i++)
@@ -723,6 +751,8 @@ public class AbcPrinter
                 int nameIndex = (int)readU32();
                 MultiName mn = multiNameConstants[nameIndex];
                 int count = (int)readU32();
+                if (count != 1)
+                   	out.println(kAbcCorrupt + "more than one typename");
                 MultiName types[] = new MultiName[count];
                 for (int t = 0; t < count; t++)
                 {
@@ -734,6 +764,27 @@ public class AbcPrinter
             }
             out.println(multiNameConstants[i]);
         }
+        // verify vectors (yes, the AVM does this)
+        for (int i = 1; i < n; i++)
+        {
+        	MultiName mn = multiNameConstants[i];
+        	if (mn.kind != 0x1D)
+        		continue;
+        	MultiName typeName = mn.typeName;
+        	if (typeName.kind == 0x1D)
+        		out.println(kAbcCorrupt + "typename is also a typename");
+        	HashMap<MultiName, String> seenMap = new HashMap<MultiName, String>();
+    		MultiName type = mn.types[0];
+        	while (type != null)
+        	{
+        		if (type.kind != 0x1D)
+        			break;
+        		seenMap.put(type, type.toString());
+        		type = type.types[0];
+        		if (seenMap.containsKey(type))
+            		out.println(kAbcCorrupt + "type cycle");        			
+        	}
+        }
     }
 		
     void printMethods()
@@ -741,6 +792,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Method Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         methods = new MethodInfo[(int)n];
         for (int i = 0; i < n; i++)
         {
@@ -772,6 +825,8 @@ public class AbcPrinter
                     m.optionIndex[k] = (int)readU32();
                     m.optionKinds[k] = abc[offset++];
                 }
+                if (m.optionCount == 0 || m.optionCount > m.paramCount)
+                	out.println(kAbcCorrupt);
             }
             if ((m.flags & 0x80) == 0x80)
             {
@@ -807,6 +862,9 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Metadata Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
+        numMetadata = n;
         for (int i = 0; i < n; i++)
         {
             int start = offset;
@@ -837,6 +895,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Instance Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         instanceNames = new String[(int)n];
         for (int i = 0; i < n; i++)
         {
@@ -849,6 +909,8 @@ public class AbcPrinter
             if ((b & 0x8) == 0x8)
                 readU32();	// eat protected namespace
             long val = readU32();
+            if (val >= 0x10000000)
+            	out.println(kAbcCorrupt);
             String s = "";
             for (int j = 0; j < val; j++)
             {
@@ -866,7 +928,7 @@ public class AbcPrinter
                     out.print(hex(abc[(int)x]) + " ");
                 }
             }
-            out.print(name + " ");
+            out.print("Instance Traits for: " + name + " ");
             if (base.length() > 0)
                 out.print("extends " + base + " ");
             if (s.length() > 0)
@@ -876,6 +938,8 @@ public class AbcPrinter
             int numTraits = (int)readU32(); // number of traits
             printOffset();
             out.println(numTraits + " Traits Entries");
+            if (numTraits > abcEnd - offset)
+            	out.println(kAbcCorrupt);
             for (int j = 0; j < numTraits; j++)
             {
                 printOffset();
@@ -897,20 +961,30 @@ public class AbcPrinter
                     readU32();	// id
                     readU32();	// value;
                     break;
-                default:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x05:
                     readU32();	// id
                     mi = methods[(int)readU32()];  // method
                     mi.name = s;
                     mi.className = name;
                     mi.kind = kind;
+                    if (mi.sawTraits)
+                    	out.println(kAbcCorrupt + "sawTraits");
+                    mi.sawTraits = true;
                     break;
+                default:
+                	out.println(kAbcCorrupt + "Unknown Trait");
                 }
                 if ((b >> 4 & 0x4) == 0x4)
                 {
                     val = readU32();	// metadata count
                     for (int k = 0; k < val; k++)
                     {
-                        readU32();	// metadata
+                        long index = readU32();	// metadata
+                        if (index >= numMetadata)
+                        	out.println(kAbcCorrupt);
                     }
                 }
                 if (showByteCode)
@@ -942,7 +1016,7 @@ public class AbcPrinter
                     out.print(hex(abc[(int)x]) + " ");
                 }
             }
-            out.print(name + " ");
+            out.print("Class Traits for: " + name + " ");
             if (base.length() > 0)
                 out.print("extends " + base + " ");
             out.println("");
@@ -950,6 +1024,8 @@ public class AbcPrinter
             int numTraits = (int)readU32(); // number of traits
             printOffset();
             out.println(numTraits + " Traits Entries");
+            if (numTraits > abcEnd - offset)
+            	out.println(kAbcCorrupt);
             for (int j = 0; j < numTraits; j++)
             {
                 printOffset();
@@ -971,20 +1047,30 @@ public class AbcPrinter
                     readU32();	// id
                     readU32();	// value;
                     break;
-                default:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x05:
                     readU32();	// id
                     mi = methods[(int)readU32()];  // method
                     mi.name = s;
                     mi.className = name;
                     mi.kind = kind;
+                    if (mi.sawTraits)
+                    	out.println(kAbcCorrupt + "sawTraits");
+                    mi.sawTraits = true;
                     break;
+                 default:
+                 	out.println(kAbcCorrupt);
                 }
                 if ((b >> 4 & 0x4) == 0x4)
                 {
                     int val = (int)readU32();	// metadata count
                     for (int k = 0; k < val; k++)
                     {
-                        readU32();	// metadata
+                        long index = readU32();	// metadata
+                        if (index > numMetadata)
+                        	out.println(kAbcCorrupt);
                     }
                 }
                 if (showByteCode)
@@ -1004,6 +1090,8 @@ public class AbcPrinter
         long n = readU32();
         printOffset();
         out.println(n + " Script Entries");
+        if (n > abcEnd - offset)
+        	out.println(kAbcCorrupt);
         for (int i = 0; i < n; i++)
         {
             int start = offset;
@@ -1026,6 +1114,8 @@ public class AbcPrinter
             int numTraits = (int)readU32(); // number of traits
             printOffset();
             out.println(numTraits + " Traits Entries");
+            if (numTraits > abcEnd - offset)
+            	out.println(kAbcCorrupt);
             for (int j = 0; j < numTraits; j++)
             {
                 printOffset();
@@ -1037,6 +1127,10 @@ public class AbcPrinter
                 {
                 case 0x00:	// slot
                 case 0x06:	// const
+                	if (kind == 0x00)
+                		s = "slot trait:  " + s;
+                	else
+                		s = "const trait:  " + s;
                     readU32();	// id
                     readU32();	// type
                     int index = (int)readU32();	// index;
@@ -1044,23 +1138,34 @@ public class AbcPrinter
                         offset++;	// kind
                     break;
                 case 0x04:	// class
+                	s = "class trait:  " + s;
                     readU32();	// id
-                    readU32();	// value;
+                    s += " " + instanceNames[(int)readU32()];	// value;
                     break;
-                default:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x05:
                     readU32();	// id
                     mi = methods[(int)readU32()];  // method
                     mi.name = s;
                     mi.className = name;
                     mi.kind = kind;
+                    if (mi.sawTraits)
+                    	out.println(kAbcCorrupt + "sawTraits");
+                    mi.sawTraits = true;
                     break;
+                 default:
+                 	out.println(kAbcCorrupt + "Unknown trait");
                 }
                 if ((b >> 4 & 0x4) == 0x4)
                 {
                     int val = (int)readU32();	// metadata count
                     for (int k = 0; k < val; k++)
                     {
-                        readU32();	// metadata
+                        long index = readU32();	// metadata
+                        if (index > numMetadata)
+                        	out.println(kAbcCorrupt);
                     }
                 }
                 if (showByteCode)
@@ -1103,6 +1208,8 @@ public class AbcPrinter
                     out.print("   ");
                 }
             }
+            if (abcEnd < codeLength + offset)
+            	out.println(kAbcCorrupt);
             MethodInfo mi = methods[methodIndex];
             out.print(traitKinds[mi.kind] + " ");
             out.print(mi.className + "::" + mi.name + "(");
@@ -1308,6 +1415,8 @@ public class AbcPrinter
             int numTraits = (int)readU32(); // number of traits
             printOffset();
             out.println(numTraits + " Traits Entries");
+            if (numTraits > abcEnd - offset)
+            	out.println(kAbcCorrupt);
             for (int j = 0; j < numTraits; j++)
             {
                 printOffset();
@@ -1329,17 +1438,24 @@ public class AbcPrinter
                     readU32();	// id
                     readU32();	// value;
                     break;
-                default:
+                case 0x01:
+                case 0x02:
+                case 0x03:
+                case 0x05:
                     readU32();	// id
                     readU32();  // method
                     break;
+                default:
+                	out.println(kAbcCorrupt);
                 }
                 if ((b >> 4 & 0x4) == 0x4)
                 {
                     int val = (int)readU32();	// metadata count
                     for (int k = 0; k < val; k++)
                     {
-                        readU32();	// metadata
+                        long index = readU32();	// metadata
+                        if (index > numMetadata)
+                        	out.println(kAbcCorrupt);
                     }
                 }
                 if (showByteCode)
@@ -1447,6 +1563,7 @@ public class AbcPrinter
         int[] optionIndex;
         int[] paramNames;
         String className;
+        boolean sawTraits;
     }
 		
     class LabelMgr


[05/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Revert "MXMLC then saw these as ambiguous, but Falcon didn't?"

Posted by ah...@apache.org.
Revert "MXMLC then saw these as ambiguous, but Falcon didn't?"

This reverts commit 07d30c0a8613e0cc37c9ae194090365ca837d566.

We don't need this change or the change before.  Falcon needs a different set of default imports.


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/e8a1d842
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/e8a1d842
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/e8a1d842

Branch: refs/heads/release4.11.0
Commit: e8a1d8422f92c9145bc604cdf01bbb2ad4ecdfee
Parents: 5d2dc3f
Author: Alex Harui <ah...@apache.org>
Authored: Tue Sep 3 12:45:05 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:36 2013 -0700

----------------------------------------------------------------------
 .../basicTests/graphics/scripts/GraphicsTagsTestScript.mxml    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/e8a1d842/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
index c9943b5..b64bf68 100644
--- a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
+++ b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
@@ -72,11 +72,11 @@
             public var stroke10Alpha:SolidColorStroke = new SolidColorStroke(0x000000, 10, 0.4);
 
             [Bindable]
-            public var bevelFilter:spark.filters.BevelFilter = new spark.filters.BevelFilter();
+            public var bevelFilter:BevelFilter = new BevelFilter();
             [Bindable]
-            public var blurFilter:spark.filters.BlurFilter = new spark.filters.BlurFilter();
+            public var blurFilter:BlurFilter = new BlurFilter();
             [Bindable]
-            public var dropShadowFilter:spark.filters.DropShadowFilter = new spark.filters.DropShadowFilter(0xFF00FF);
+            public var dropShadowFilter:DropShadowFilter = new DropShadowFilter(0xFF00FF);
 
             [Bindable]
             public var linearGrad:LinearGradient = new LinearGradient();


[09/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - Fix a bug in SWFDump

Posted by ah...@apache.org.
Fix a bug in SWFDump


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/90aa204d
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/90aa204d
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/90aa204d

Branch: refs/heads/release4.11.0
Commit: 90aa204da1f5d4f038ebd3e555c5402f48fcaa76
Parents: 23d9fda
Author: Alex Harui <ah...@apache.org>
Authored: Thu Oct 10 21:09:16 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:39 2013 -0700

----------------------------------------------------------------------
 modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java | 2 ++
 1 file changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/90aa204d/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
----------------------------------------------------------------------
diff --git a/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java b/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
index 4fe4198..73c7e3f 100644
--- a/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
+++ b/modules/swfutils/src/java/flash/swf/tools/AbcPrinter.java
@@ -771,6 +771,8 @@ public class AbcPrinter
         	if (mn.kind != 0x1D)
         		continue;
         	MultiName typeName = mn.typeName;
+        	if (typeName == null) // this came up as null in a working SWF.
+        		continue;
         	if (typeName.kind == 0x1D)
         		out.println(kAbcCorrupt + "typename is also a typename");
         	HashMap<MultiName, String> seenMap = new HashMap<MultiName, String>();


[03/11] git commit: [flex-sdk] [refs/heads/release4.11.0] - MXMLC then saw these as ambiguous, but Falcon didn't?

Posted by ah...@apache.org.
MXMLC then saw these as ambiguous, but Falcon didn't?


Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/5d2dc3f0
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/5d2dc3f0
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/5d2dc3f0

Branch: refs/heads/release4.11.0
Commit: 5d2dc3f09acf773f96d6338e930b4bd2dd3ec281
Parents: 7a6be43
Author: Alex Harui <ah...@apache.org>
Authored: Sun Sep 1 23:05:12 2013 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Oct 10 23:18:35 2013 -0700

----------------------------------------------------------------------
 .../basicTests/graphics/scripts/GraphicsTagsTestScript.mxml    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/5d2dc3f0/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
----------------------------------------------------------------------
diff --git a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
index b64bf68..c9943b5 100644
--- a/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
+++ b/frameworks/tests/basicTests/graphics/scripts/GraphicsTagsTestScript.mxml
@@ -72,11 +72,11 @@
             public var stroke10Alpha:SolidColorStroke = new SolidColorStroke(0x000000, 10, 0.4);
 
             [Bindable]
-            public var bevelFilter:BevelFilter = new BevelFilter();
+            public var bevelFilter:spark.filters.BevelFilter = new spark.filters.BevelFilter();
             [Bindable]
-            public var blurFilter:BlurFilter = new BlurFilter();
+            public var blurFilter:spark.filters.BlurFilter = new spark.filters.BlurFilter();
             [Bindable]
-            public var dropShadowFilter:DropShadowFilter = new DropShadowFilter(0xFF00FF);
+            public var dropShadowFilter:spark.filters.DropShadowFilter = new spark.filters.DropShadowFilter(0xFF00FF);
 
             [Bindable]
             public var linearGrad:LinearGradient = new LinearGradient();