Propagate mouse cursor movements in stack

This commit is contained in:
Héctor Ramón Jiménez 2025-02-01 02:13:45 +01:00
parent 2fc94d9f44
commit 7a6d4d580e
No known key found for this signature in database
GPG key ID: 7CC46565708259A7

View file

@ -216,6 +216,8 @@ where
viewport: &Rectangle, viewport: &Rectangle,
) { ) {
let is_over = cursor.is_over(layout.bounds()); let is_over = cursor.is_over(layout.bounds());
let is_mouse_movement =
matches!(event, Event::Mouse(mouse::Event::CursorMoved { .. }));
for ((child, state), layout) in self for ((child, state), layout) in self
.children .children
@ -235,7 +237,10 @@ where
viewport, viewport,
); );
if is_over && cursor != mouse::Cursor::Unavailable { if is_over
&& !is_mouse_movement
&& cursor != mouse::Cursor::Unavailable
{
let interaction = child.as_widget().mouse_interaction( let interaction = child.as_widget().mouse_interaction(
state, layout, cursor, viewport, renderer, state, layout, cursor, viewport, renderer,
); );