dri2: free slave pixmap on app exit
When the drawable disappears we need to free the prime master/slave combos. This fixes a leak after a prime app is run. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
1a465fef9b
commit
64623ef90d
|
@ -409,6 +409,11 @@ DRI2DrawableGone(pointer p, XID id)
|
||||||
dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, NULL);
|
dixSetPrivate(&pPixmap->devPrivates, dri2PixmapPrivateKey, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pPriv->prime_slave_pixmap) {
|
||||||
|
(*pPriv->prime_slave_pixmap->master_pixmap->drawable.pScreen->DestroyPixmap)(pPriv->prime_slave_pixmap->master_pixmap);
|
||||||
|
(*pPriv->prime_slave_pixmap->drawable.pScreen->DestroyPixmap)(pPriv->prime_slave_pixmap);
|
||||||
|
}
|
||||||
|
|
||||||
if (pPriv->buffers != NULL) {
|
if (pPriv->buffers != NULL) {
|
||||||
for (i = 0; i < pPriv->bufferCount; i++)
|
for (i = 0; i < pPriv->bufferCount; i++)
|
||||||
destroy_buffer(pDraw, pPriv->buffers[i], pPriv->prime_id);
|
destroy_buffer(pDraw, pPriv->buffers[i], pPriv->prime_id);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user