Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-24893

Changing skin at run time, and skin content container changes from VGroup to Group causes runtime error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • Apache Flex 4.12.0
    • None
    • Affected OS(s): All OS Platforms
      Affected OS(s): All OS Platforms
      Browser: Safari
      Language Found: English

    Description

      Steps to reproduce:
      1. Create a component that extends SkinnableContainer
      2. Create one skin with <Group id="contentGroup" />
      3. Create another skin class with <VGroup id="contentGroup" />
      4. Toggle between the skin classes during runtime

      Actual Results:
      The following runtime error is shown:
      Error: You are not allowed to change the layout for this class. It is read-only.
      at spark.components::VGroup/set layout()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\VGroup.as:465]
      at spark.components::SkinnableContainer/partRemoved()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:955]
      at com.vmware.ue.treenavigation.view.components::MockObjectContainer/partRemoved()[/Users/swid/Workspaces/ue/prototypes/TreeNavigation/src/com/vmware/ue/treenavigation/view/components/MockObjectContainer.as:61]
      at spark.components.supportClasses::SkinnableComponent/clearSkinParts()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:698]
      at spark.components.supportClasses::SkinnableComponent/detachSkin()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:732]
      at spark.components.supportClasses::SkinnableComponent/validateSkinChange()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:404]
      at spark.components.supportClasses::SkinnableComponent/commitProperties()[E:\dev\4.0.0\frameworks\projects\spark\src\spark\components\supportClasses\SkinnableComponent.as:419]
      at mx.core::UIComponent/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\core\UIComponent.as:7772]
      at mx.managers::LayoutManager/validateProperties()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:572]
      at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:730]
      at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.0.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1072]

      Expected Results:
      I would expect that changing the content group's container from Group to VGroup to Group, would not cause a runtime error. The container, I suppose, should be reinstantiated.

      Workaround (if any):
      In both skin classes, use <Group> component and change the layout using <layout><VerticalLayout /></layout>

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              adobejira Adobe JIRA
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: