mirror of
https://github.com/X11Libre/xserver.git
synced 2026-10-10 23:33:46 +00:00
dri2: Take an XID for tracking the DRI2 drawable
Some pixmaps (window pixmaps and scratch pixmaps) don't have the drawable->id set and thus DRI2 gets confused when using that field for looking up the DRI2 drawable. Go back to using privates for getting at the DRI2 drawable from a DrawablePtr. We need to keep the resource tracking in place so we can remove the DRI2 drawable when the X resource it was created for goes away. Additionally, we also now track the DRI2 drawable using a client XID so we can reclaim the DRI2 drawable even if the client goes before the drawable and doesn't destroy the DRI2 drawable. Tested-by: Owen W. Taylor <otaylor@fishsoup.net> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
This commit is contained in:
parent
32381363cd
commit
9de0e31746
8 changed files with 164 additions and 44 deletions
|
|
@ -167,7 +167,7 @@ ProcDRI2CreateDrawable(ClientPtr client)
|
|||
&pDrawable, &status))
|
||||
return status;
|
||||
|
||||
status = DRI2CreateDrawable(pDrawable);
|
||||
status = DRI2CreateDrawable(client, pDrawable, stuff->drawable);
|
||||
if (status != Success)
|
||||
return status;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue