Skip to content

Hover through non-interactive windows now misbehaves, causing flickering #5363

@markusdd

Description

@markusdd

I'm in the process to update my project https://github.com/markusdd/EasyEDA_to_KiCAD_Lib_UI from egui 0.26.2 to 0.29.1 and I am facing a problem with a feature I previously used.
I have a set of thumbnail pictures for electronic parts:
grafik

These can be hovered, and this will cause a big version of the picture to be displayed. As the resulting overlay window is non-interactive, click and hover actions used to be transferred to the layer below, the resulting picture was stable until you moved the mouse outside the underlying thumbnail area. Exactly what I wanted.

ui.horizontal(|ui| {
                    for url in imagevec {
                        let img = ui
                            .add(egui::Image::new(url).fit_to_exact_size(Vec2::new(200.0, 200.0)));
                        if img.hovered() {
                            Window::new("")
                                .auto_sized()
                                .interactable(false)
                                .show(ctx, |ui| {
                                    ui.add(
                                        egui::Image::new(url)
                                            .fit_to_exact_size(Vec2::new(900.0, 900.0)),
                                    );
                                });
                        }
                    }
                });

Wanted result (works in egui 0.26.2):
grafik

Now, in 0.29.1, I get a semi-transparent big overlay picture window. Until I realized I cannot screenshot the problem and it's not actually transparent.
With each frame, the window appears and disappears, causing essentially 50% translucency to the human eye.

So my assumption is, that hover events no longer properly pass through non-interactive windows like they used to.

How to solve for this?

I tried to set fade_in/out to false, I tried different orders like popup, foreground etc, all does not help.

Any advice? is this intended or a bug? Any new paradigm to get this feature back?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions