bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#27053: 26.0.50; x-show-tip gets wrong mouse position if frame moves


From: Alan Third
Subject: bug#27053: 26.0.50; x-show-tip gets wrong mouse position if frame moves w/o mouse moving on macOS
Date: Thu, 25 May 2017 20:23:26 +0100
User-agent: Mutt/1.7.2 (2016-11-26)

On Thu, May 25, 2017 at 09:01:11AM +0200, martin rudalics wrote:
> > I do not know what the best solution to this is. They could be stored
> > in screen local coordinates and converted to frame local as they're
> > needed, or they could be recalculated/asked for whenever the frame is
> > moved.
> 
> Both, X and Windows query the absolute mouse position here and the NS
> code should do the same (just that I don't have any idea what the direct
> NS equivalent for XQueryPointer/GetCursorPos is - it should be somehwere
> hidden in ns_mouse_position's
> 
>       position = [[view window] mouseLocationOutsideOfEventStream];
>       position = [view convertPoint: position fromView: nil];
> 
> but I'm too lazy to figure that out).  last_mouse_motion_x/_y are
> conceptually reserved for note_mouse_movement and should not be used for
> anything else (IMHO).

Looks like the right way to get it in screen‐coords is

    [NSEvent mouseLocation]

which returns an NSPoint.

https://developer.apple.com/reference/appkit/nsevent/1533380-mouselocation?language=objc

Seems strange to me that it’s in NSEvent, but I guess it makes sense
to someone.

Patch attached.

I’ve just noticed the grocer’s apostrophe in the commit message.

*sigh*

It seems to me that the NS port seems to like storing values and then
reusing them later even though they can be asked for directly in
real‐time. I don’t know if that’s a coding style thing or what.
-- 
Alan Third

Attachment: 0001-Fix-NS-tooltip-s-showing-in-the-wrong-place-bug-2705.patch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]