This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
Re: Excess MotionNotify events to a minimized window in multiwindow mode
- From: Jon TURNEY <jon dot turney at dronecode dot org dot uk>
- To: cygwin-xfree at cygwin dot com
- Cc: heiko dot bihr at secunet dot com
- Date: Mon, 17 Dec 2012 18:38:31 +0000
- Subject: Re: Excess MotionNotify events to a minimized window in multiwindow mode
- References: <50C6318E.1020608@secunet.com>
- Reply-to: cygwin-xfree <cygwin-xfree at cygwin dot com>
- Reply-to: cygwin-xfree at cygwin dot com
On 10/12/2012 19:01, Heiko Bihr wrote:
> I think, there is a problem with mouse polling in multiwindow mode
> (XWin.exe :0 -multiwindow) in Cygwin/X 1.13.
> If a window gets maximized and then minimized, it will receive motion
> notify events, whenever the user moves the mouse cursor over the screen.
>
> To reproduce the problem, please follow these steps:
>
> 1) start XWin.exe in -multiwindow mode
> 2) start xev
> 3) maximize xev window
> 4) minimize xev window
> 5) move mouse cursor around and watch xev output
>
> You will see lots of MotionNotify events from all over the screen.
> X.org does not show this behaviour and I think, Cygwin/X should not either.
I'm not sure I follow your reasoning. If you run 'xev -root', you can see
that MotionNotify events are sent from everywhere.
Is there some specific problem you are trying to fix?
> The problem is caused by the WIN_POLLING_MOUSE_TIMER_ID, which doesn't
> get stopped, when the user minimizes a window.
>
> I made a small patch against Cygwin/X 1.13.0-1 which will stop the
> WIN_POLLING_MOUSE_TIMER_ID, whenever the user minimizes a window. If the
> user changes the window's size again, and the timer was stopped, it will
> be started again.
> The patch introduces a new flag in s_pScreenPriv to remember the state
> of the timer.
Thanks for the patch.
There are definitely some things wrong with the way that this mouse pointer
polling timer works, I noticed during testing that is was possible sometimes
to move the pointer out of an xeyes without starting the polling timer.
I'm not sure this patch is right though: With this patch applied, if you have
2 xeyes running, minimizing the first one stops the second one from tracking
the mouse pointer.
--
Jon TURNEY
Volunteer Cygwin/X X Server maintainer
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/