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)

Reply via email to