Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Later
-
Adobe Flex SDK Previous
-
None
-
None
-
Affected OS(s): All OS Platforms
Affected OS(s): All OS Platforms
Browser: Other (specify version)
Language Found: English
Description
Steps to reproduce:
1. Run the attached project which creates a subclass of spark.skins.mobile.ButtonSkin for borderless buttons. In this case, I want to create a simple icon and text only button without the default button graphics.
Actual Results:
Runtime error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at spark.skins.mobile::ButtonSkin/commitCurrentState()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/ButtonSkin.as:248]
at spark.skins.mobile.supportClasses::MobileSkin/set currentState()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/MobileSkin.as:228]
at spark.skins.mobile.supportClasses::ButtonSkinBase/set currentState()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/mobiletheme/src/spark/skins/mobile/supportClasses/ButtonSkinBase.as:169]
at spark.components.supportClasses::SkinnableComponent/commitProperties()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:461]
at spark.components.supportClasses::ButtonBase/commitProperties()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/spark/src/spark/components/supportClasses/ButtonBase.as:856]
at mx.core::UIComponent/validateProperties()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/framework/src/mx/core/UIComponent.as:8198]
at mx.managers::LayoutManager/validateProperties()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as:597]
at mx.managers::LayoutManager/doPhasedInstantiation()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as:783]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[/Users/jasonsj/Slider/repositories/hero_private/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1180]
Expected Results:
Make it easy to create a borderless button skin without overriding commitCurrentState() and layoutContents()/layoutBorder(). These functions assume that borders always exist.
Workaround (if any):
Specify a transparent FXG for upBorderSkin and downBorderSkin.