From a382fad1d077af2588daa0f81a6e03b625da1a34 Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Sun, 7 Feb 2021 14:55:12 +0100 Subject: [PATCH] Fix minor click detection bug --- egui/src/input_state.rs | 4 ++++ egui/src/memory.rs | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/egui/src/input_state.rs b/egui/src/input_state.rs index 7d5ee657..b6b3623f 100644 --- a/egui/src/input_state.rs +++ b/egui/src/input_state.rs @@ -470,6 +470,10 @@ impl PointerState { pub fn button_down(&self, button: PointerButton) -> bool { self.down[button as usize] } + + pub(crate) fn could_any_button_be_click(&self) -> bool { + self.could_be_click + } } impl InputState { diff --git a/egui/src/memory.rs b/egui/src/memory.rs index f030b669..e6d6ee36 100644 --- a/egui/src/memory.rs +++ b/egui/src/memory.rs @@ -139,6 +139,10 @@ impl Interaction { self.click_interest = false; self.drag_interest = false; + if !prev_input.pointer.could_any_button_be_click() { + self.click_id = None; + } + if !prev_input.pointer.any_down() || prev_input.pointer.latest_pos().is_none() { // pointer button was not down last frame self.click_id = None;