diff options
author | 2025-02-01 02:13:45 +0100 | |
---|---|---|
committer | 2025-02-01 02:13:45 +0100 | |
commit | 7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7 (patch) | |
tree | e092bad38cd901777961578039f3cfc61cc29b0b /widget | |
parent | 2fc94d9f443ba497f269b25659dfd16616ef8d65 (diff) | |
download | iced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.tar.gz iced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.tar.bz2 iced-7a6d4d580e6fe08a9062cfe3a9f92087fc270ff7.zip |
Propagate mouse cursor movements in `stack`
Diffstat (limited to 'widget')
-rw-r--r-- | widget/src/stack.rs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/widget/src/stack.rs b/widget/src/stack.rs index d2828c56..12ed941d 100644 --- a/widget/src/stack.rs +++ b/widget/src/stack.rs @@ -216,6 +216,8 @@ where viewport: &Rectangle, ) { 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 .children @@ -235,7 +237,10 @@ where 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( state, layout, cursor, viewport, renderer, ); |