-
Sam Spilsbury authored
It was possible for there to be a race condition for a pixmap to become invalid on the server side if the client which did have control over thier lifecycle freed them before we were done with them or disconnected. Drivers have normally handled this condition by reading the contents of the undefined memory directly without an error, however drivers such as LLVMpipe will effectively dereference an invalid pointer and crash when you do this. Eg: compiz crashed with SIGSEGV in memmove() from drisw_update_tex_buffer() from dri_set_tex_buffer2() from drisw_bind_tex_image() from __glXBindTexImageEXT() from TfpTexture::enable() Most of the time we don't need to employ this check. Its only when we know that we don't control the lifecycle of a pixmap that race conditions such as these can occurr.
e31cee80