From b8a4c9c8ce3228fd48d255d29be094b3edb4442f Mon Sep 17 00:00:00 2001 From: Emil Ernerfeldt Date: Tue, 26 Jan 2021 18:56:30 +0100 Subject: [PATCH] Fix rare issue of accidentally hovering two things at once Closes https://github.com/emilk/egui/issues/140 --- egui/src/context.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/egui/src/context.rs b/egui/src/context.rs index fd4ffe34..e8e08e8c 100644 --- a/egui/src/context.rs +++ b/egui/src/context.rs @@ -227,7 +227,12 @@ impl CtxRef { rect: Rect, sense: Sense, ) -> Response { - let interact_rect = rect.expand2((0.5 * item_spacing).min(Vec2::splat(5.0))); // make it easier to click + let gap = 0.5; // Just to make sure we don't accidentally hover two things at once (a small eps should be sufficient). + let interact_rect = rect.expand2( + (0.5 * item_spacing - Vec2::splat(gap)) + .at_least(Vec2::splat(0.0)) + .at_most(Vec2::splat(5.0)), + ); // make it easier to click let hovered = self.rect_contains_pointer(layer_id, clip_rect.intersect(interact_rect)); self.interact_with_hovered(layer_id, id, rect, sense, hovered) }