This is a slightly cleaner approach to fixing #902 (closed). Recognizing that the GetImage and SourceValidate wrappers in composite and misprite are basically identical, we can eliminate the wrapping around GetImage if we make sure to call SourceValidate consistently. The only "sourcing" operations where we're not doing so are GetImage protocol requests, and the software indirect GLX path for glReadPixels etc. The latter already builds the entire reply after the GetImage operation, but the former need some adjustment to validate everything before the GetImage calls (particularly finicky in Xinerama).
Having done that, we can delete the wrappers in composite and misprite. Yay.
I still really dislike the way rotation and prime are nerfing the software cursor code in order to get the cursor image copied. I might like to fix that too, but that can be a follow-up change, and at any rate this should work equivalently.
19 files changed, 60 insertions(+), 166 deletions(-)