egui/crates
IaVashik e995c4c5b4
Fix sizing bug in `TextEdit::singleline` (#5640)
This PR reverts a change introduced in PR
https://github.com/emilk/egui/pull/3660 that caused a regression with
`TextEdit::singleline`. The original PR attempted to fix an issue with
the cursor in `TextEdit` inside `ScrollArea`, but it did so by adding
unnecessary size allocation to `TextEdit`, which breaks the layout when
`TextEdit::singleline` is used outside of `ScrollArea`.


![Image](https://github.com/user-attachments/assets/78fdf20a-0763-4b5f-b83b-64522f15b35b)

The regression introduced by #3660 is more severe, as it completely
breaks the layout of applications using `TextEdit::singleline`, as shown
in the following issues:

*   Closes https://github.com/emilk/egui/issues/5500
*   Closes https://github.com/emilk/egui/issues/5597

Furthermore, I was unable to reproduce the original bug from PR #3660 in
the current version of egui using the following code:

```rust
impl eframe::App for MyEguiApp {
    fn update(&mut self, ctx: &egui::Context, _: &mut eframe::Frame) {
        ctx.set_debug_on_hover(true);
        egui::CentralPanel::default().show(ctx, |ui| {
            ScrollArea::vertical().max_height(100.0).show(ui, |ui| {
                ui.add(TextEdit::multiline(&mut self.text).hint_text("Enter text here..."))
            });
        });
    }
}
```

This code attempts to recreate the layout shown in the video from PR
#3660, using a `ScrollArea` with limited height and a `TextEdit` inside.
However, the cursor hiding issue was not reproducible.

![Video_2025-01-26_17-54-24](https://github.com/user-attachments/assets/ca4750ea-8af8-4ab5-8c10-bdf73a090362)

Therefore, I believe the code added in PR #3660 is no longer necessary
and only creates more problems.

*   Closes https://github.com/emilk/egui/issues/5500
*   Closes https://github.com/emilk/egui/issues/5597
*   [x] I have followed the instructions in the PR template
2025-03-03 09:22:01 +01:00
..
ecolor Fix some clippy lints from the future 2025-02-25 14:10:42 +01:00
eframe Add pointer events and focus handling for apps run in a Shadow DOM (#5627) 2025-02-18 18:01:07 +01:00
egui Fix sizing bug in `TextEdit::singleline` (#5640) 2025-03-03 09:22:01 +01:00
egui-wgpu Release 0.31.0 - Scene container, improved rendering quality 2025-02-04 16:47:56 +01:00
egui-winit Release 0.31.0 - Scene container, improved rendering quality 2025-02-04 16:47:56 +01:00
egui_demo_app Add `Ui::close` and `Response::should_close` (#5729) 2025-02-20 17:59:29 +01:00
egui_demo_lib Fix sizing bug in `TextEdit::singleline` (#5640) 2025-03-03 09:22:01 +01:00
egui_extras Use enum-map serde feature only when serde is enabled (#5748) 2025-02-27 15:50:45 +01:00
egui_glow Release 0.31.0 - Scene container, improved rendering quality 2025-02-04 16:47:56 +01:00
egui_kittest Add `Popup` and `Tooltip`, unifying the previous behaviours (#5713) 2025-02-18 15:53:07 +01:00
egui_plot Move `egui_plot` to its own repo (#4828) 2024-07-15 18:45:19 +02:00
egui_web Fix typos (#2866) 2023-04-18 15:52:45 +02:00
emath Add `Popup` and `Tooltip`, unifying the previous behaviours (#5713) 2025-02-18 15:53:07 +01:00
epaint Rename `Marginf` to `MarginF32` for consistency with `CornerRadiusF32` (#5677) 2025-02-11 11:23:59 +01:00
epaint_default_fonts Release 0.31.0 - Scene container, improved rendering quality 2025-02-04 16:47:56 +01:00