unwrapping inside the wrapper (xf86Rotate)

Dave Airlie airlied at redhat.com
Wed Sep 30 03:36:41 PDT 2009


Hi,

So I think the changes to the rotate code to unwrap inside the wrapper
aren't safe wrt to all the other wrapping code in the server.

picking a wrap/unwrap at random miSpriteBlockHandler

it does pretty much 

pScreen->BlockHandler = private->BlockHandler;
(*pScreen->BlockHandler)
pScreen->BlockHandler = miSpriteBlockHandler;

Now if the wrapped function i.e. what private->BlockHandler
decides to unwrap itself how is this function meant to figure it out?

like it could do private->BlockHandler = pScreen->BlockHandler
after its returned to, however it doesn't appear that many wrappers
do this, and this means what the RotateBH is doing is broken, so
I would guess the RotateBlockHandler should stay wrapped but just not
do anything when it doesn't need to.

Dave.



More information about the xorg-devel mailing list