GNU bug report logs - #27053
26.0.50; x-show-tip gets wrong mouse position if frame moves w/o mouse moving on macOS

Previous Next

Package: emacs;

Reported by: Aaron Jensen <aaronjensen <at> gmail.com>

Date: Wed, 24 May 2017 12:33:02 UTC

Severity: normal

Found in version 26.0.50

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 27053 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: martin rudalics <rudalics <at> gmx.at>
Cc: 27053 <at> debbugs.gnu.org, Aaron Jensen <aaronjensen <at> gmail.com>
Subject: Re: 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
[Message part 1 (text/plain, inline)]
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
[0001-Fix-NS-tooltip-s-showing-in-the-wrong-place-bug-2705.patch (text/plain, attachment)]

This bug report was last modified 8 years ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.