From dcbe0b8a5fd07930e2444b2aac90f738b4e4fec7 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Wed, 29 Nov 2023 14:49:36 -0800 Subject: [PATCH] core: only update mouse hover point when no other mouse action --- src/Surface.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Surface.zig b/src/Surface.zig index 7e5e13a19..46a63a879 100644 --- a/src/Surface.zig +++ b/src/Surface.zig @@ -2069,8 +2069,10 @@ pub fn cursorPosCallback( self.renderer_state.mutex.lock(); defer self.renderer_state.mutex.unlock(); - // Update our mouse state - self.renderer_state.mouse.point = pos_vp; + // Update our mouse state. We set this to null initially because we only + // want to set it when we're not selecting or doing any other mouse + // event. + self.renderer_state.mouse.point = null; // If we have an inspector, we need to always record position information if (self.inspector) |insp| { @@ -2136,6 +2138,7 @@ pub fn cursorPosCallback( // Handle link hovering if (try self.linkAtPos(pos)) |_| { + self.renderer_state.mouse.point = pos_vp; self.mouse.over_link = true; try self.rt_surface.setMouseShape(.pointer); try self.queueRender();