Skip to content

Cursor not resetting style when leaving bevy_feathers button #20283

@tbillington

Description

@tbillington

Bevy version

Latest main.

https://github.com/bevyengine/bevy.git?branch=main#f8082163950d1708a91313e4f46a57ed7c93d90b

[Optional] Relevant system information

Macos

What you did

Screen.Recording.2025-07-25.at.1.29.32.pm.mov
fn app_plugin(app: &mut App) {
    app.add_plugins(DefaultPlugins);

    app.add_plugins((CoreWidgetsPlugins, InputDispatchPlugin, FeathersPlugin));

    app.insert_resource(UiTheme(create_dark_theme()));

    app.add_systems(Startup, setup);
}

fn setup(mut c: Commands, ass: Res<AssetServer>) {
    c.spawn(Camera2d);

    let scene = something(&mut c);
    c.spawn(scene);
}

fn something(c: &mut Commands) -> impl Bundle {
    (
        Node {
            display: Display::Flex,
            flex_direction: FlexDirection::Row,
            align_items: AlignItems::Center,
            justify_content: JustifyContent::Start,
            column_gap: Val::Px(8.0),
            ..default()
        },
        children![
            button(
                ButtonProps {
                    on_click: Callback::System(c.register_system(|_: In<Activate>| {
                        info!("Normal button clicked!");
                    })),
                    ..default()
                },
                (),
                Spawn((Text::new("Normal"), ThemedText))
            ),
            button(
                ButtonProps {
                    on_click: Callback::System(c.register_system(|_: In<Activate>| {
                        info!("Disabled button clicked!");
                    })),
                    ..default()
                },
                InteractionDisabled,
                Spawn((Text::new("Disabled"), ThemedText))
            ),
            button(
                ButtonProps {
                    on_click: Callback::System(c.register_system(|_: In<Activate>| {
                        info!("Primary button clicked!");
                    })),
                    variant: ButtonVariant::Primary,
                    ..default()
                },
                (),
                Spawn((Text::new("Primary"), ThemedText))
            ),
        ],
    )
}

What went wrong

Mouse cursor doesn't reset style when leaving the UI area

Additional information

https://discord.com/channels/691052431525675048/1398146057963044926

Metadata

Metadata

Assignees

Labels

A-UIGraphical user interfaces, styles, layouts, and widgetsC-BugAn unexpected or incorrect behaviorS-Needs-ReviewNeeds reviewer attention (from anyone!) to move forward

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions