[
https://issues.apache.org/jira/browse/FLEX-34611?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Piotr Zarzycki updated FLEX-34611:
----------------------------------
Fix Version/s: Apache Flex 4.14.0
> Application crash when textFlow property set to null with preserveSelection
> ---------------------------------------------------------------------------
>
> Key: FLEX-34611
> URL: https://issues.apache.org/jira/browse/FLEX-34611
> Project: Apache Flex
> Issue Type: Bug
> Components: Spark: RichEditableText
> Reporter: dimitri kara
> Assignee: Frédéric THOMAS
> Labels: RichEditableText, tlf
> Fix For: Apache Flex 4.14.0
>
>
> In the TextContainerManager class, the setText method has this starting code:
> {quote}
> public function setText(text:String):void
> {
> var hadPreviousSelection:Boolean = false;
> var selectionChanged:Boolean = false;
> var selectionState:SelectionState = null;
>
> var oldAnchorPosition:int = -1;
> var oldActivePosition:int = -1;
>
> if (_sourceState == SOURCE_TEXTFLOW)
> {
> if (_textFlow.interactionManager &&
> _textFlow.interactionManager.hasSelection()){
> hadPreviousSelection = true;
>
> //preserve the selection state
> *if (_preserveSelectionOnSetText)*
> {
> oldAnchorPosition = Math.min(_textFlow.interactionManager.anchorPosition,
> *text.length*);
> oldActivePosition =
> Math.min(_textFlow.interactionManager.activePosition, text.length);
>
> ...
> {quote}
> The problem is the fact that when a RichEditableText has its textFlow
> property set to null, the TextContainerManager class make this call:
> *setText(null);*
> Then, if _preserveSelectionOnSetText is true, we have a null object reference
> error because of line #583
> *oldAnchorPosition = Math.min(_textFlow.interactionManager.anchorPosition,
> text.length);*
> with the text variable equal to null
> The problem is worse in debug, because each time the error is thrown the app
> lose focus because of the debugger, and the error is thrown again because of
> the activate event when the app regain focus, resulting in crash or unusable
> app.
> The solution seems quite simple: check that text is not null before trying to
> restore selection.
> line 581 would be:
> *if (_preserveSelectionOnSetText && text)*
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)