[ 
https://issues.apache.org/jira/browse/FLEX-34383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mihai Chira updated FLEX-34383:
-------------------------------

    Description: 
*Steps to reproduce*:
# Import and run the attached project.
# Press the button.

*Actual behaviour*: The application throws the RTE below.
*Desired behaviour*: The "container" component is simply removed from stage, 
with no RTE.
*Notes*:
* the only change I made to the default SkinnableContainerSkin in 
EmptyContainerSkin.mxml is the use of VGroup (or HGroup) as the "contentGroup", 
instead of the standard Group.
* there are a few potential solutions, of course. I'm leaning toward preventing 
SkinnableContainer.partRemoved() from clearing the old contentGroup's layout 
(not sure why it does it; no useful blame info in git), as it doesn't look 
necessary.


Error: You are not allowed to change the layout for this class.  It is 
read-only.
        at spark.components::VGroup/set 
layout()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/VGroup.as:533]
        at 
spark.components::SkinnableContainer/partRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:1049]
        at 
spark.components.supportClasses::SkinnableComponent/clearSkinParts()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:779]
        at 
spark.components.supportClasses::SkinnableComponent/detachSkin()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:813]
        at 
spark.components.supportClasses::SkinnableComponent/removedFromStageHandler()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:1132]
        at flash.display::DisplayObjectContainer/removeChild()
        at 
mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7365]
        at 
mx.core::UIComponent/removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7272]
        at 
spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1758]
        at 
spark.components::Group/removeElementAt()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1505]
        at 
spark.components::Group/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1483]
        at 
spark.components::SkinnableContainer/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:805]
        at 
_main/button1_clickHandler()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:20]
        at 
_main/____main_Button1_click()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:26]


  was:
*Steps to reproduce*:
# Import and run the attached project.
# Press the button.

*Actual behaviour*: The application throws the RTE below.
*Desired behaviour*: The "container" component is simply removed from stage, 
with no RTE.
*Notes*:
* the only change I made to the default SkinnableContainerSkin in 
EmptyContainerSkin.mxml is the use of VGroup (or HGroup) as the "contentGroup", 
instead of the standard Group.
* there are a few potential solutions, of course. I'm leaning toward having 
V/HGroup.set layout not throw an error if the value is null. But I'm also not 
sure why SkinnableContainer.partRemoved() clears the old contentGroup's layout 
either (no useful blame info in git); it doesn't look necessary.


Error: You are not allowed to change the layout for this class.  It is 
read-only.
        at spark.components::VGroup/set 
layout()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/VGroup.as:533]
        at 
spark.components::SkinnableContainer/partRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:1049]
        at 
spark.components.supportClasses::SkinnableComponent/clearSkinParts()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:779]
        at 
spark.components.supportClasses::SkinnableComponent/detachSkin()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:813]
        at 
spark.components.supportClasses::SkinnableComponent/removedFromStageHandler()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:1132]
        at flash.display::DisplayObjectContainer/removeChild()
        at 
mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7365]
        at 
mx.core::UIComponent/removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7272]
        at 
spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1758]
        at 
spark.components::Group/removeElementAt()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1505]
        at 
spark.components::Group/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1483]
        at 
spark.components::SkinnableContainer/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:805]
        at 
_main/button1_clickHandler()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:20]
        at 
_main/____main_Button1_click()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:26]



> RTE when removing SkinnableContainer with skinDestructionPolicy "auto" and 
> skin with VGroup or HGroup as the "contentGroup"
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: FLEX-34383
>                 URL: https://issues.apache.org/jira/browse/FLEX-34383
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: SkinnableContainer
>    Affects Versions: Apache Flex 4.12.1
>            Reporter: Mihai Chira
>         Attachments: _removeSkinnableWithVGroup.fxp
>
>
> *Steps to reproduce*:
> # Import and run the attached project.
> # Press the button.
> *Actual behaviour*: The application throws the RTE below.
> *Desired behaviour*: The "container" component is simply removed from stage, 
> with no RTE.
> *Notes*:
> * the only change I made to the default SkinnableContainerSkin in 
> EmptyContainerSkin.mxml is the use of VGroup (or HGroup) as the 
> "contentGroup", instead of the standard Group.
> * there are a few potential solutions, of course. I'm leaning toward 
> preventing SkinnableContainer.partRemoved() from clearing the old 
> contentGroup's layout (not sure why it does it; no useful blame info in git), 
> as it doesn't look necessary.
> Error: You are not allowed to change the layout for this class.  It is 
> read-only.
>       at spark.components::VGroup/set 
> layout()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/VGroup.as:533]
>       at 
> spark.components::SkinnableContainer/partRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:1049]
>       at 
> spark.components.supportClasses::SkinnableComponent/clearSkinParts()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:779]
>       at 
> spark.components.supportClasses::SkinnableComponent/detachSkin()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:813]
>       at 
> spark.components.supportClasses::SkinnableComponent/removedFromStageHandler()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:1132]
>       at flash.display::DisplayObjectContainer/removeChild()
>       at 
> mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7365]
>       at 
> mx.core::UIComponent/removeChild()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/framework/src/mx/core/UIComponent.as:7272]
>       at 
> spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementRemoved()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1758]
>       at 
> spark.components::Group/removeElementAt()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1505]
>       at 
> spark.components::Group/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/Group.as:1483]
>       at 
> spark.components::SkinnableContainer/removeElement()[/Users/aharui/flex-sdk-4.12.1/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:805]
>       at 
> _main/button1_clickHandler()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:20]
>       at 
> _main/____main_Button1_click()[C:\Users\mihaichira\workspace\_removeSkinnableWithVGroup\src\_main.mxml:26]



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to