glx: Drop DestroyWindow hook
Now that glx doesn't call DRI2DestroyDrawable anymore, we don't need to force a specific resource destruction order in the DestroyWindow hook. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Michel Dänzer <michel@daenzer.net> https://bugs.freedesktop.org/show_bug.cgi?id=26394 Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
1da1f33f2d
commit
a92b2c2c8d
|
@ -215,7 +215,6 @@ glxCloseScreen (int index, ScreenPtr pScreen)
|
||||||
__GLXscreen *pGlxScreen = glxGetScreen(pScreen);
|
__GLXscreen *pGlxScreen = glxGetScreen(pScreen);
|
||||||
|
|
||||||
pScreen->CloseScreen = pGlxScreen->CloseScreen;
|
pScreen->CloseScreen = pGlxScreen->CloseScreen;
|
||||||
pScreen->DestroyWindow = pGlxScreen->DestroyWindow;
|
|
||||||
|
|
||||||
pGlxScreen->destroy(pGlxScreen);
|
pGlxScreen->destroy(pGlxScreen);
|
||||||
|
|
||||||
|
@ -347,31 +346,6 @@ pickFBConfig(__GLXscreen *pGlxScreen, VisualPtr visual)
|
||||||
return best;
|
return best;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Bool
|
|
||||||
glxDestroyWindow(WindowPtr pWin)
|
|
||||||
{
|
|
||||||
ScreenPtr pScreen = pWin->drawable.pScreen;
|
|
||||||
__GLXscreen *pGlxScreen = glxGetScreen(pScreen);
|
|
||||||
Bool retval = TRUE;
|
|
||||||
|
|
||||||
FreeResource(pWin->drawable.id, FALSE);
|
|
||||||
|
|
||||||
/* call lower wrapped functions */
|
|
||||||
if (pGlxScreen->DestroyWindow) {
|
|
||||||
/* unwrap */
|
|
||||||
pScreen->DestroyWindow = pGlxScreen->DestroyWindow;
|
|
||||||
|
|
||||||
/* call lower layers */
|
|
||||||
retval = (*pScreen->DestroyWindow)(pWin);
|
|
||||||
|
|
||||||
/* rewrap */
|
|
||||||
pGlxScreen->DestroyWindow = pScreen->DestroyWindow;
|
|
||||||
pScreen->DestroyWindow = glxDestroyWindow;
|
|
||||||
}
|
|
||||||
|
|
||||||
return retval;
|
|
||||||
}
|
|
||||||
|
|
||||||
void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
|
void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
|
||||||
{
|
{
|
||||||
__GLXconfig *m;
|
__GLXconfig *m;
|
||||||
|
@ -394,8 +368,6 @@ void __glXScreenInit(__GLXscreen *pGlxScreen, ScreenPtr pScreen)
|
||||||
|
|
||||||
pGlxScreen->CloseScreen = pScreen->CloseScreen;
|
pGlxScreen->CloseScreen = pScreen->CloseScreen;
|
||||||
pScreen->CloseScreen = glxCloseScreen;
|
pScreen->CloseScreen = glxCloseScreen;
|
||||||
pGlxScreen->DestroyWindow = pScreen->DestroyWindow;
|
|
||||||
pScreen->DestroyWindow = glxDestroyWindow;
|
|
||||||
|
|
||||||
i = 0;
|
i = 0;
|
||||||
for (m = pGlxScreen->fbconfigs; m != NULL; m = m->next) {
|
for (m = pGlxScreen->fbconfigs; m != NULL; m = m->next) {
|
||||||
|
|
|
@ -173,7 +173,6 @@ struct __GLXscreen {
|
||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
Bool (*CloseScreen)(int index, ScreenPtr pScreen);
|
Bool (*CloseScreen)(int index, ScreenPtr pScreen);
|
||||||
Bool (*DestroyWindow)(WindowPtr pWindow);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user