diff --git a/egui/src/widgets/text_edit/builder.rs b/egui/src/widgets/text_edit/builder.rs index f36b8e665e2..eb72f37c35f 100644 --- a/egui/src/widgets/text_edit/builder.rs +++ b/egui/src/widgets/text_edit/builder.rs @@ -590,7 +590,8 @@ impl<'t> TextEdit<'t> { &cursor_range.primary, ); - if response.changed || selection_changed { + let is_fully_visible = ui.clip_rect().contains_rect(rect); // TODO: remove this HACK workaround for https://github.com/emilk/egui/issues/1531 + if (response.changed || selection_changed) && !is_fully_visible { ui.scroll_to_rect(cursor_pos, None); // keep cursor in view }