[
https://issues.apache.org/jira/browse/FLEX-33772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Cosma Colanicchia updated FLEX-33772:
-------------------------------------
Attachment: TestFocus-patched-revised.air
FocusManager-revised.patch
I attached a revised patch that fixes the modified behavior and improve
performances.
However, I wasn't able to completely avoid the initial full loop: the code
complexity to maintain current behavior was increasing too much, and it was
required to always force a full loop for the main logic (could not break out
early).
Instead, I just revised the first loop to immediately check if the element is
actually part of the group, and only then call isEnabledAndVisible. This should
drastically reduce the number of invocations to that method - combined with the
fact that the second loop is able to break out after only a few iterations in
the typical cases, probably overall performance should still be improved by the
patch in the average cases (no research done here, any contribution is welcome).
> Incorrect tab focus behavior (closed loops) when using focus groups (such as
> RadioButton components)
> ----------------------------------------------------------------------------------------------------
>
> Key: FLEX-33772
> URL: https://issues.apache.org/jira/browse/FLEX-33772
> Project: Apache Flex
> Issue Type: Bug
> Components: Focus Manager
> Affects Versions: Apache Flex 4.11.0
> Reporter: Cosma Colanicchia
> Assignee: Alex Harui
> Priority: Minor
> Labels: patch
> Attachments: FocusManager.patch, FocusManager.patch,
> FocusManager-revised.patch, TestFocus-current.air, TestFocus.mxml,
> TestFocus-patched.air, TestFocus-patched-revised.air,
> TestFocus-screenshot.png, TestFocus-updated.mxml
>
>
> When additional components that are not part of the focus group are
> positioned between two group elements, it may be impossible to move the focus
> away from the group using the keyboard.
--
This message was sent by Atlassian JIRA
(v6.1#6144)