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

AddAction/RemoveAction interferes with DisplayObject sharing

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Adobe Flex SDK 4.0 (Release)
    • Spark: Effects
    • None
    • Affected OS(s): All OS Platforms
      Affected OS(s): All OS Platforms
      Browser: Firefox 3.x
      Language Found: English

    Description

      Steps to reproduce:
      1. Compile and run:

      <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark">
      <s:states>
      <s:State name="notOver" />
      <s:State name="over" />
      </s:states>

      <s:transitions>
      <s:Transition fromState="over" toState="notOver">
      <s:RemoveAction targets="

      {[rect1]}"/>
      </s:Transition>
      <s:Transition fromState="notOver" toState="over">
      <s:AddAction targets="{[rect1]}

      "/>
      </s:Transition>
      </s:transitions>

      <s:Group mouseOver="currentState = 'over'"
      mouseOut="currentState = 'notOver'"
      x="100" y="100" width="100" height="100">

      <s:Rect width="50" height="100" alpha="1">
      <s:fill>
      <s:SolidColor color="green" />
      </s:fill>
      </s:Rect>

      <s:Rect x="50" width="50" height="100" alpha="0.9">
      <s:fill>
      <s:SolidColor color="green" />
      </s:fill>
      </s:Rect>

      <s:Rect id="rect1" top="10" left="10" right="10" bottom="10" excludeFrom="notOver" >
      <s:fill>
      <s:SolidColor color="red" />
      </s:fill>
      </s:Rect>
      </s:Group>

      </s:Application>

      2. Mouse over the graphic
      3. Mouse out of the graphic
      4. Mouse over the graphic

      Actual Results:

      The second green Rect disappears.
      After the second mouseover the red Rect is now underneath the green Rect

      Expected Results:

      The second green Rect shouldn't disappear.
      The red Rect should remain on top

      Workaround (if any):

      Set depth="1" for the rectangles, this effectively turns off displyaObject sharing.
      Or alternatively
      Set alpha="0.99" on the first green Rect (that way the first Rect has it's own DisplayObject and doesn't share the Group's DisplayObject)

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: