[comp.windows.x] Propagation of Exposures

jeff@amber.ci.com (Jeff deRienzo) (05/14/88)

	I've not been successful in getting expose events to propagate
	up the window tree in X11R2.  It seems that this should be 
	possible.  For example, suppose I open a parent window with 
	ExposureMask set in its do_not_propagate attribute and a child 
	window with NoEventMask in its do_not_propagate attribute.  
	If I then select expose events on the parent I expect to also 
	receive expose events which originated in the child to be propagated 
	to the parent.  This doesn't happen.  (X11R2 on Apollo and
	Microvax/Ultrix)

	After trying a few different variations of do_no_propagate_mask
	and event_mask combinations which should have delivered the child's
	expose events to the parent but didn't, I decided to look at the
	server code.  Window exposures get handled in the mi code by 
	miexpose.c.  They're vectored through miWindowExposures().
	miWindowExposures() packages the expose for the window in which
	it originated and then calls into the dix code to deliver
	the events by means of DeliverEvents() in events.c.  The first
	line of DeliverEvents() is a comment:
	    /* not useful for events that propagate up the tree */
	and that appears to be true.

	Am I misinterpreting the documentation in assuming that exposures
	should be propagated under the above circumstances?  Has anyone
	else run into this?  Has anyone been able to get exposures to
	propagate to parent windows using the sample server?  (I've made
	a terrible hack in the server which does allow the expose events 
	to propagate, but I'd much prefer a more ubiquitous official 
	solution.)

	Advance thanks,

				Jeff

	jeff@dandelion.CI.COM
	derienzo@eagle.MIT.EDU

RWS@ZERMATT.LCS.MIT.EDU (Robert Scheifler) (05/14/88)

    Date: 13 May 88 19:40:09 GMT
    From: necntc!dandelion!amber!jeff@husc6.harvard.edu  (Jeff deRienzo)

    Am I misinterpreting the documentation in assuming that exposures
    should be propagated under the above circumstances?

Yes.  As far as I know, it is no where stated that exposure events
propagate in V11.  Only device events propagate.