Tamás Nepusz created FLEX-34364:
-----------------------------------
Summary: FlexEvent.BUTTON_DOWN events are sometimes lost
Key: FLEX-34364
URL: https://issues.apache.org/jira/browse/FLEX-34364
Project: Apache Flex
Issue Type: Bug
Components: Spark: Button
Affects Versions: Apache Flex 4.12.0
Environment: Mac OS X 10.9, Apache Flex 4.12.1 + AIR 13
Reporter: Tamás Nepusz
Priority: Minor
Attachments: ButtonDownBugTest.fxp
{{FlexEvent.BUTTON_DOWN}} events are sometimes not fired for Spark Buttons.
More precisely, they are _usually_ not fired (in ~80% of the cases) when I
click on the button by tapping the touchpad of my MacBook Pro _and_ the window
that contains the button is not the first window of the application. The events
are _always_ fired properly when I click on the button using the mouse or the
button at the bottom of my touchpad, _or_ when the button is contained in the
first window of the application.
I strongly suspect that this happens because {{FlexEvent.BUTTON_DOWN}} events
are dispatched in {{ButtonBase.commitProperties()}}, but the
{{MouseEvent.MOUSE_DOWN}} and {{MouseEvent.MOUSE_UP}} events happen so quickly
when I tap the touchpad that {{ButtonBase.commitProperties()}} only gets a
chance to run when the button is already up again (although this does not
explain why it is not a problem for the first window of the application). This
is not a big issue on its own, but note that {{DropDownController}} relies on
the {{BUTTON_DOWN}} event to decide when to open the dropdown in a
{{DropDownList}}, so Spark dropdowns do not work reliably in the presence of
this bug.
Steps to reproduce:
# You might have to get a Mac to reproduce this issue.
# Open the attached project.
# Tap on the button of the first window that opens using the touchpad. Note
that you get both a {{BUTTON_DOWN}} event and a {{CLICK}} event, and these are
logged properly in the list shown below the button.
# Open a new window by clicking on the button in the lower right corner.
# Tap on the button of the new window a few times. Note that {{CLICK}} events
are always dispatched, but in ~80% of the cases they are not preceded by a
{{BUTTON_DOWN}} event.
--
This message was sent by Atlassian JIRA
(v6.2#6252)