[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make-pointer-invisible on Windows
From: |
martin rudalics |
Subject: |
Re: make-pointer-invisible on Windows |
Date: |
Fri, 26 Jun 2015 08:55:26 +0200 |
> It turns out this has nothing to do with redisplay. Inserting a
> single character is enough to turn off the mouse pointer with your
> original patch, after removing the call to SET_FRAME_GARBAGED. The
> problem is that sometimes the effect is far from immediate, you need
> to wait for a second or so.
This explains why I couldn't consistently trigger the misbehavior.
> Looking into this, I concluded that calling SetCursor from the main
> (a.k.a. "Lisp") thread has no effect whatsoever. For some reason,
> only the input thread can do that. And it already does, whenever it
> gets an appropriate message. So all we have to do in the main thread
> is send that message to the input thread. This is what the first hunk
> below, to be applied on top of your patch, does.
Seems to work here.
> Well, actually, it _is_ related, albeit to a different aspect of this.
> The code that turns the mouse pointer back on when mouse moves also
> runs in the main thread. So whenever the main thread is busy with
> some long calculation, or waits for some synchronous system call, we
> cannot rely on this mechanism to timely turn the pointer back on. But
> the input thread can very well do that, so the second hunk of changes
> below makes that happen.
>
> So please install your changes, followed by mine (or tell me to do the
> latter). Thanks for working on this.
All changes should be in place by now.
> As for not redrawing the frame during these synchronous operations, I
> will try to see why it happens (strangely, I only see it on XP, but
> not on Windows 7).
This would be fine.
Thanks for the fixes, martin
- make-pointer-invisible on Windows, martin rudalics, 2015/06/24
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/24
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/24
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/24
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/25
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/25
- Re: make-pointer-invisible on Windows,
martin rudalics <=
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/26
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/26
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/26
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/26
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/26
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/28
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/29
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/28
- Re: make-pointer-invisible on Windows, martin rudalics, 2015/06/29
- Re: make-pointer-invisible on Windows, Eli Zaretskii, 2015/06/29