[MPlayer-dev-eng] Bugreport/Patch: x11 video backend has wrong geometry assumptions

Jens Stimpfle debian at jstimpfle.de
Thu May 9 15:42:18 CEST 2013

On Wed, May 08, 2013 at 09:35:58PM +0100, jon wrote:
> > I
> > > think it could be emulated with poll() on ConnectionNumber() and
> > > XCheckTypedWindowEvent(), but whether it's clean to have a potentially
> > > infinitely growing events queue is another question.
> This is just a plain bad idea.  Always pop the events from Q then simply
> ignore those not relevant, it possible that the event is not for your
> specific process, in that case just push it back into the Q.  
> You can use XPeekEvent and look for the event in the Q, that is probably
> best if you are waiting for MapNotify - but something somewhere must
> always pop all events from the Q or you have a memory creep.

> http://tronche.com/gui/x/xlib/event-handling/manipulating-event-queue/XPeekEvent.html
> http://tronche.com/gui/x/xlib/event-handling/manipulating-event-queue/XPeekIfEvent.html
> http://tronche.com/gui/x/xlib/event-handling/XPutBackEvent.html

I didn't know XPeekIfEvent and with it you can cleanly do what I
proposed (emulating a XMaskTypedWindowEvent). But XPeekIfEvent (also
XMaskEvent) can do memory creep on its own just as well, so this in a
way invalidates your argument. Sometimes the need for potential memory
creep is just there, think "unknown source | less".

But otherwise I support your argument (as I already pointed out in the
other post) that in this specific situation potential memory creep
should be avoided. In fact I still don't see why mplayer must be aware
of mappedness.

More information about the MPlayer-dev-eng mailing list