Event propagation: clarification needed

Beyer, Philipp Philipp.Beyer at alliedvisiontec.com
Wed Sep 10 06:54:08 PDT 2008


I'm currently working on an application that uses XReparentWindow to embed an SDL Window into my QT application.
However, I'm facing a problem with events that seems to be reproducable with xev, so I guess this is the correct mailing list to ask my questions.

I'm trying to fetch MotionNotify (or Qt's equivalent) events in Qt, while the mouse is moved over the reparented SDL window. As you may have guessed, the problem is that no events arrive.

For debugging, my application prints the SDL window's ID (child-id) and the ID of its 'new' parent ( a QT widget) to stdout. When I run "xev -id child-id", MotionNotify events are shown. This does not happen with "xev -id parent-id", although I explicitly changed the child window's event_mask and do_not_propagate_mask to 'NoEventMask'. 

The documentation says, that events are propagated to the parent, when the attributes are set as i have. So why does xev see the events at the child but not at the parent?

Philipp Beyer - Software Developer
Allied Vision Technologies GmbH www.alliedvisiontec.com 
branch office Ahrensburg - Klaus-Groth-Str. 1
22926 Ahrensburg - Germany
phone: +49 4102/6688-0
President/CEO: Frank Grube; Amtsgericht Jena HRB 208962
headquarters: Taschenweg 2a, 07646 Stadtroda 

More information about the xorg mailing list