On Fri, 26 Dec 2008 07:34:39 +0100, Kim Woelders <[email protected]> wrote:
Hello, It looks like handling of the do_not_propagate_mask window attribute has been broken at some point. Attached patch should fix that.
No comments?To be more specific, I think the breakage was caused by commit 32aa252e988be8cbfd4f7e373fb7b7736ef1f5f2: "dix: Process an input event as a single event, instead of two separate ones."
I have attached a test case that should demonstrate the problem. The test program creates a 100x100 window with a 50x100 child window on the left side. The parent window selects (among other things) PointerMotionMask. The child window selects no events but sets the do_not_propagate_mask to PointerMotionMask. When the pointer is moved over the window the test should report motion events only when over the right half. However, with current git motion events are reported over the entire window. Things work as expected with Xorg 1.5 and with current git + suggested patch. /Kim
test-do_not_propagate_mask.c
Description: Binary data
_______________________________________________ xorg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xorg
