flex-issues mailing list archives

[jira] [Updated] (FLEX-34344) DropDownList and NumericStepper keep acting on keyDown and other events after being removed from stage

Date

Thu, 29 May 2014 16:47:02 GMT

[ https://issues.apache.org/jira/browse/FLEX-34344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mihai Chira updated FLEX-34344:
-------------------------------
Description:
*Steps to reproduce [DropDownList]*:
1. Import and run the project called "_DropDownListListeningTooMuch.fxp".
2. Click on the dropdown and select an item.
3. Right click on the dropdown, which removes it from stage.
4. Press UP/DOWN.
*Actual behaviour*: the dropdown's _proposedSelectedIndex keeps changing, showing the dropdown
is still acting on keyboard events.
*Desired behaviour*: once it's off stage, the dropdown should not react to keyboard - or any
other - events.
*Notes*:
-the same behaviour can be made visible by placing a breakpoint in DropDownListBase.keyDownHandler
after step 3.
-the dropdown stops reacting to keyboard events when it's removed directly, as opposed to
when its parent group is removed.
-I noticed that UIComponent adds event listeners for KEY_DOWN, KEY_UP, FOCUS_IN and FOCUS_OUT,
but never removes them. Is the expectation that components themselves will remove these listeners
when they're off stage, or is it an omission?
*Steps to reproduce [NumericStepper]*:
1. Import and run the project called "_NumericStepperListListeningTooMuch.fxp".
2. Click on the numeric stepper.
3. Right click on the numeric stepper, which removes it from stage.
4. Press UP/DOWN.
*Actual behaviour*: the numeric stepper's value keeps changing, showing the it's still acting
on keyboard events.
*Desired behaviour*: once it's off stage, the numeric stepper should not react to keyboard
- or any other - events.
was:
*Steps to reproduce [DropDownList]*:
1. Import and run the project called "_DropDownListListeningTooMuch.fxp".
2. Click on the dropdown and select an item.
3. Right click on the dropdown, which removes it from stage.
4. Press UP/DOWN.
*Actual behaviour*: the dropdown's _proposedSelectedIndex keeps changing, showing the dropdown
is still acting on keyboard events.
*Desired behaviour*: once it's off stage, the dropdown should not react to keyboard - or any
other - events.
*Notes*:
-the same behaviour can be made visible by placing a breakpoint in DropDownListBase.keyDownHandler
after step 3.
-the dropdown stops reacting to keyboard events when it's removed directly, as opposed to
when its parent group is removed.
-I noticed that UIComponent adds event listeners for KEY_DOWN, KEY_UP, FOCUS_IN and FOCUS_OUT,
but never removes them. Is the expectation that components themselves will remove these listeners
when they're off stage, or is it an omission?
> DropDownList and NumericStepper keep acting on keyDown and other events after being removed
from stage
> ------------------------------------------------------------------------------------------------------
>
> Key: FLEX-34344
> URL: https://issues.apache.org/jira/browse/FLEX-34344
> Project: Apache Flex
> Issue Type: Bug
> Components: Spark: DropDownList
> Affects Versions: Apache Flex 4.12.0
> Reporter: Mihai Chira
> Labels: easytest
> Fix For: Apache Flex 4.13.0
>
> Attachments: _DropDownListListeningTooMuch.fxp, _NumericStepperListListeningTooMuch.fxp
>
>
> *Steps to reproduce [DropDownList]*:
> 1. Import and run the project called "_DropDownListListeningTooMuch.fxp".
> 2. Click on the dropdown and select an item.
> 3. Right click on the dropdown, which removes it from stage.
> 4. Press UP/DOWN.
> *Actual behaviour*: the dropdown's _proposedSelectedIndex keeps changing, showing the
dropdown is still acting on keyboard events.
> *Desired behaviour*: once it's off stage, the dropdown should not react to keyboard -
or any other - events.
> *Notes*:
> -the same behaviour can be made visible by placing a breakpoint in DropDownListBase.keyDownHandler
after step 3.
> -the dropdown stops reacting to keyboard events when it's removed directly, as opposed
to when its parent group is removed.
> -I noticed that UIComponent adds event listeners for KEY_DOWN, KEY_UP, FOCUS_IN and FOCUS_OUT,
but never removes them. Is the expectation that components themselves will remove these listeners
when they're off stage, or is it an omission?
> *Steps to reproduce [NumericStepper]*:
> 1. Import and run the project called "_NumericStepperListListeningTooMuch.fxp".
> 2. Click on the numeric stepper.
> 3. Right click on the numeric stepper, which removes it from stage.
> 4. Press UP/DOWN.
> *Actual behaviour*: the numeric stepper's value keeps changing, showing the it's still
acting on keyboard events.
> *Desired behaviour*: once it's off stage, the numeric stepper should not react to keyboard
- or any other - events.
--
This message was sent by Atlassian JIRA
(v6.2#6252)