Skip to content

Scroll bar / resize handle conflict #7749

@lucasmerlin

Description

@lucasmerlin

Describe the bug
Placing a ScrollArea and a Panel close next to each other can cause a interaction conflict, where the hovered state switches between both every frame, very annoying.

See also:

To Reproduce
Minimal repro:

    eframe::run_simple_native("My egui App", options, move |ctx, _frame| {
        egui::CentralPanel::default().show(ctx, |ui| {
            Panel::bottom("bottom")
                .resizable(true)
                .show_inside(ui, |ui| {
                    ui.label("hello");
                    ui.label("hello");
                    ui.label("hello");
                    ui.label("hello");
                });

            ScrollArea::horizontal().show(ui, |ui| {
                ui.set_height(ui.available_height());
                ui.style_mut().wrap_mode = Some(egui::TextWrapMode::Extend);
                ui.label("foiewjfio eoifjewoif ewoifjeowif oiefwnoiewfj fewjnoewfhn efwoijeoiwfj")
            });
        });
    })

Expected behavior
There is no conflict, the hover should be stable (and both scrolling and resizing should be possible).

Screenshots

Screen.Recording.2025-12-01.at.10.46.50.mov

Additional context
As a workarounds you can add some space/margin between them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is brokenegui

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions