From ae546a5b9d10c746ff1785d220397269ff847eee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9ctor=20Ram=C3=B3n=20Jim=C3=A9nez?= Date: Fri, 17 Apr 2020 23:27:50 +0200 Subject: [PATCH] Revert "Merge pull request #289 from hecrj/fix/cursor-events" `winit` seems to produce `CursorEntered` and `CursorLeft` events after wheel scrolling for no apparent reason (?). This causes annoying flickering when hovering some widgets on a scrollable. I should investigate this further. We are rolling back the fix for the time being. --- native/src/user_interface.rs | 11 ++--------- winit/src/conversion.rs | 6 ------ 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 88ffd6d6..5d9221e9 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -188,15 +188,8 @@ where let mut messages = Vec::new(); for event in events { - match event { - Event::Mouse(mouse::Event::CursorMoved { x, y }) => { - self.cursor_position = Point::new(x, y); - } - Event::Mouse(mouse::Event::CursorLeft) => { - // TODO: Encode cursor availability - self.cursor_position = Point::new(-1.0, -1.0); - } - _ => {} + if let Event::Mouse(mouse::Event::CursorMoved { x, y }) = event { + self.cursor_position = Point::new(x, y); } self.root.widget.on_event( diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 78686424..eaa26ace 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -27,12 +27,6 @@ pub fn window_event( height: logical_size.height, })) } - WindowEvent::CursorEntered { .. } => { - Some(Event::Mouse(mouse::Event::CursorEntered)) - } - WindowEvent::CursorLeft { .. } => { - Some(Event::Mouse(mouse::Event::CursorLeft)) - } WindowEvent::CursorMoved { position, .. } => { let position = position.to_logical::(scale_factor);