This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Excess MotionNotify events to a minimized window in multiwindow mode


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]