Top-most windows

Deron Johnson Deron.Johnson at Sun.COM
Wed Jan 18 11:45:24 PST 2006



Keith Packard wrote On 01/12/06 17:23,:
> On Thu, 2006-01-12 at 11:26 -0800, Deron Johnson wrote:
>
> I believe your DDX PaintWindowBackground function should be the right
> place to hook DID preparations. I'm unsure why it isn't the right place
> now, perhaps Composite is hooked below your DID wrapper?

Here is what I had to do in order to prevent any DID painting.

First, in miMoveWindow and miSlideAndSizeWindow I had to make sure that
miValidateTree is called instead of the DDX ValidateTree; apparently the
Nvidia DDX ValidateTree function does DID painting. In addition, I had
to force miHandleValidateExposures to be called instead of the DDX
HandleExposures routine.

Next, I needed to prevent cwPaintWindowBackground (and Border) from
calling the DDX PaintWindowBackground/Border routine during window moves
and resizes. The wrapping is such that cw calls directly into the DDX.

The first change is invoked whenever the window being moved or resized
is composite redirected. It would be fairly clean to mainstream my code
for this. But my second change is invoked by a global variable and it is
definitely a hack--we need a cleaner solution for this.



More information about the xorg-arch mailing list