From 770c82a3f38d5910d5ab9ce616b38e7cbb1361ae Mon Sep 17 00:00:00 2001 From: William Zhang <72227515+Aliremu@users.noreply.github.com> Date: Tue, 2 Jul 2024 03:18:47 -0400 Subject: [PATCH] Prevent `TextEdit` widgets from sending fake primary clicks (#4751) This prevents TextEdit widgets from sending fake primary clicks when a user types Space / Enter. Small change but having Space / Enter send `OutputEvent::ValueChanged` instead of `OutputEvent::Clicked` makes more sense I believe. --------- Co-authored-by: Emil Ernerfeldt --- crates/egui/src/widgets/text_edit/builder.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/crates/egui/src/widgets/text_edit/builder.rs b/crates/egui/src/widgets/text_edit/builder.rs index aa872862..8205da63 100644 --- a/crates/egui/src/widgets/text_edit/builder.rs +++ b/crates/egui/src/widgets/text_edit/builder.rs @@ -539,6 +539,9 @@ impl<'t> TextEdit<'t> { Sense::hover() }; let mut response = ui.interact(outer_rect, id, sense); + + response.fake_primary_click = false; // Don't sent `OutputEvent::Clicked` when a user presses the space bar + let text_clip_rect = rect; let painter = ui.painter_at(text_clip_rect.expand(1.0)); // expand to avoid clipping cursor