From 19431940f047a24906e701f8868246b742bbf9cc Mon Sep 17 00:00:00 2001 From: ickshonpe Date: Wed, 14 Jan 2026 16:15:29 +0000 Subject: [PATCH 1/3] Check text nodes with `clip_check_recursive` in `ui_picking` before adding them to `hit_nodes`. --- crates/bevy_ui/src/picking_backend.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/bevy_ui/src/picking_backend.rs b/crates/bevy_ui/src/picking_backend.rs index d3648ced54f90..bc7ea7c9dc913 100644 --- a/crates/bevy_ui/src/picking_backend.rs +++ b/crates/bevy_ui/src/picking_backend.rs @@ -213,7 +213,15 @@ pub fn ui_picking( text_layout_info, text_block, ) { - if settings.require_markers && !pickable_query.contains(text_entity) { + if settings.require_markers + && !pickable_query.contains(text_entity) + && clip_check_recursive( + *cursor_position, + node_entity, + &clipping_query, + &child_of_query, + ) + { continue; } From a22b2993457d3a89cf4082f388e63403173cc751 Mon Sep 17 00:00:00 2001 From: ickshonpe Date: Wed, 14 Jan 2026 16:36:00 +0000 Subject: [PATCH 2/3] continue if `clip_check_recursive` fails, not if it succeeds --- crates/bevy_ui/src/picking_backend.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/bevy_ui/src/picking_backend.rs b/crates/bevy_ui/src/picking_backend.rs index bc7ea7c9dc913..531ecd124b542 100644 --- a/crates/bevy_ui/src/picking_backend.rs +++ b/crates/bevy_ui/src/picking_backend.rs @@ -215,7 +215,7 @@ pub fn ui_picking( ) { if settings.require_markers && !pickable_query.contains(text_entity) - && clip_check_recursive( + && !clip_check_recursive( *cursor_position, node_entity, &clipping_query, From d4c69e20e856ac5e35b6dacd2ec889433a09ee0a Mon Sep 17 00:00:00 2001 From: ickshonpe Date: Wed, 14 Jan 2026 16:39:27 +0000 Subject: [PATCH 3/3] moved clip check --- crates/bevy_ui/src/picking_backend.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/crates/bevy_ui/src/picking_backend.rs b/crates/bevy_ui/src/picking_backend.rs index 531ecd124b542..58d84ff607120 100644 --- a/crates/bevy_ui/src/picking_backend.rs +++ b/crates/bevy_ui/src/picking_backend.rs @@ -212,16 +212,13 @@ pub fn ui_picking( *cursor_position, text_layout_info, text_block, + ) && clip_check_recursive( + *cursor_position, + node_entity, + &clipping_query, + &child_of_query, ) { - if settings.require_markers - && !pickable_query.contains(text_entity) - && !clip_check_recursive( - *cursor_position, - node_entity, - &clipping_query, - &child_of_query, - ) - { + if settings.require_markers && !pickable_query.contains(text_entity) { continue; }