• Renzo Olivares's avatar
    handleSelectWord in MultiSelectableSelectionContainerDelegate should handle... · 0e1056f8
    Renzo Olivares authored
    handleSelectWord in MultiSelectableSelectionContainerDelegate should handle rects inside of rects (#127478)
    
    Fixes #127076
    
    Sometimes a `Selectable`s rect may contain another `Selectable`s rect within it. In the case of `handleSelectWord` when choosing which `Selectable` to dispatch the `SelectionEvent` to, the event would be dispatched to the wrong `Selectable` causing an assertion error to be thrown. 
    
    <img width="577" alt="Screenshot 2023-05-24 at 2 46 13 AM" src="https://github.com/flutter/flutter/assets/948037/bb246966-acad-4d81-bd87-758c3ea6ea39">
    
    In the picture above the red outline shows the rect of a two-line piece of text. And the blue rect shows the rect of a piece of text that is on the second line of the two-line piece of text, but has been separated into its own rect for some case, for example when `TextSpan`s are separated by a `WidgetSpan`.
    
    We should check if the text layout of the selectable that has been dispatched the SelectionEvent contains the word, if not then return `SelectionResult.next`, and continue to look through the list of selectables.
    0e1056f8
Name
Last commit
Last update
..
animated_size.dart Loading commit data...
binding.dart Loading commit data...
box.dart Loading commit data...
custom_layout.dart Loading commit data...
custom_paint.dart Loading commit data...
debug.dart Loading commit data...
debug_overflow_indicator.dart Loading commit data...
editable.dart Loading commit data...
error.dart Loading commit data...
flex.dart Loading commit data...
flow.dart Loading commit data...
image.dart Loading commit data...
layer.dart Loading commit data...
layout_helper.dart Loading commit data...
list_body.dart Loading commit data...
list_wheel_viewport.dart Loading commit data...
mouse_tracker.dart Loading commit data...
object.dart Loading commit data...
paragraph.dart Loading commit data...
performance_overlay.dart Loading commit data...
platform_view.dart Loading commit data...
proxy_box.dart Loading commit data...
proxy_sliver.dart Loading commit data...
rotated_box.dart Loading commit data...
selection.dart Loading commit data...
service_extensions.dart Loading commit data...
shifted_box.dart Loading commit data...
sliver.dart Loading commit data...
sliver_fill.dart Loading commit data...
sliver_fixed_extent_list.dart Loading commit data...
sliver_grid.dart Loading commit data...
sliver_group.dart Loading commit data...
sliver_list.dart Loading commit data...
sliver_multi_box_adaptor.dart Loading commit data...
sliver_padding.dart Loading commit data...
sliver_persistent_header.dart Loading commit data...
stack.dart Loading commit data...
table.dart Loading commit data...
table_border.dart Loading commit data...
texture.dart Loading commit data...
tweens.dart Loading commit data...
view.dart Loading commit data...
viewport.dart Loading commit data...
viewport_offset.dart Loading commit data...
wrap.dart Loading commit data...