Keep the selection begin index updated #539
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The selection API, introduced thanks to #419, has a problem retrieving the cursor position if no text is selected. In particular, this is a problem with the
WidgetTextInput::GetSelection()
method, which is publicly accessible from classes such asElementFormControlInput
.If you select some text, unselect text, and call the method, you will get the previous index, which may no longer be valid.
This pull request aims to address this issue. Constantly updating
selection_begin_index
is safe to do; when we want to work with some selection, we first check whetherselection_length
is greater than zero. Because of this reason,selection_begin_index
may have whatever value, and it will not break anything... except for the getter mentioned above.