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

spark.components.Alert#partRemoved() implementation makes wrong super.partAdded() call

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • Apache Flex 4.13.0
    • Apache Flex 4.14.0
    • None
    • Flash Player 15.0.0.189 (debug version), Opera, Windows 7, SDK 4.13.0 (20140701) and WIN_flex4.13.0-air15.0.0.249

    Description

      partRemoved implementation for spark.components.Alert probably has wrong super method call: partAdded instead of partRemoved.

      Alert.as: 642
      override protected function partRemoved(partName:String, instance:Object):void {
          super.partAdded(partName, instance);
          if (partName == "buttonGroup") {
              destroyButtons(Group(instance));
          }
      }
      

      This implementation causes an exception if you change component's skin at runtime (see the attachment):

      [Fault] exception, information=ReferenceError: Error #1069: Property autoLayout not found on Number and there is no default value.
      at spark.components::SkinnableContainer/partAdded()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/SkinnableContainer.as:970]
      at spark.components::Panel/partAdded()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/Panel.as:554]
      at spark.components::Alert/partRemoved()[/Users/aharui/release4.13.0/frameworks/projects/experimental/src/spark/components/Alert.as:643]
      at spark.components.supportClasses::SkinnableComponent/clearSkinParts()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:779]
      at spark.components.supportClasses::SkinnableComponent/detachSkin()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:813]
      at spark.components.supportClasses::SkinnableComponent/validateSkinChange()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:453]
      at spark.components.supportClasses::SkinnableComponent/commitProperties()[/Users/aharui/release4.13.0/frameworks/projects/spark/src/spark/components/supportClasses/SkinnableComponent.as:472]
      at mx.core::UIComponent/validateProperties()[/Users/aharui/release4.13.0/frameworks/projects/framework/src/mx/core/UIComponent.as:8751]
      at mx.managers::LayoutManager/validateProperties()[/Users/aharui/release4.13.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:605]
      at mx.managers::LayoutManager/doPhasedInstantiation()[/Users/aharui/release4.13.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:821]
      at mx.managers::LayoutManager/doPhasedInstantiationCallback()[/Users/aharui/release4.13.0/frameworks/projects/framework/src/mx/managers/LayoutManager.as:1188]

      Attachments

        1. TestSparkAlertBuilt.zip
          1.17 MB
          Andrii Radistao
        2. TestSparkAlert.zip
          3 kB
          Andrii Radistao

        Activity

          People

            harbs Harbs
            radistao Andrii Radistao
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: