exa: fix unwrapping of ModifyPixmapHeader upon CloseScreen.

- Cleanup wrapping too.
This commit is contained in:
Maarten Maathuis 2009-02-28 22:15:04 +01:00
parent da8ea41a54
commit bd2f35ef0d

View File

@ -978,6 +978,8 @@ exaCloseScreen(int i, ScreenPtr pScreen)
unwrap(pExaScr, pScreen, CreatePixmap); unwrap(pExaScr, pScreen, CreatePixmap);
if (pExaScr->SavedDestroyPixmap) if (pExaScr->SavedDestroyPixmap)
unwrap(pExaScr, pScreen, DestroyPixmap); unwrap(pExaScr, pScreen, DestroyPixmap);
if (pExaScr->SavedModifyPixmapHeader)
unwrap(pExaScr, pScreen, ModifyPixmapHeader);
unwrap(pExaScr, pScreen, CopyWindow); unwrap(pExaScr, pScreen, CopyWindow);
unwrap(pExaScr, pScreen, ChangeWindowAttributes); unwrap(pExaScr, pScreen, ChangeWindowAttributes);
unwrap(pExaScr, pScreen, BitmapToRegion); unwrap(pExaScr, pScreen, BitmapToRegion);
@ -1104,7 +1106,6 @@ exaDriverInit (ScreenPtr pScreen,
#endif #endif
pExaScr = xcalloc (sizeof (ExaScreenPrivRec), 1); pExaScr = xcalloc (sizeof (ExaScreenPrivRec), 1);
if (!pExaScr) { if (!pExaScr) {
LogMessage(X_WARNING, "EXA(%d): Failed to allocate screen private\n", LogMessage(X_WARNING, "EXA(%d): Failed to allocate screen private\n",
pScreen->myNum); pScreen->myNum);
@ -1169,8 +1170,7 @@ exaDriverInit (ScreenPtr pScreen,
wrap(pExaScr, pScreen, CreatePixmap, exaCreatePixmap); wrap(pExaScr, pScreen, CreatePixmap, exaCreatePixmap);
wrap(pExaScr, pScreen, DestroyPixmap, exaDestroyPixmap); wrap(pExaScr, pScreen, DestroyPixmap, exaDestroyPixmap);
pExaScr->SavedModifyPixmapHeader = pScreen->ModifyPixmapHeader; wrap(pExaScr, pScreen, ModifyPixmapHeader, exaModifyPixmapHeader);
pScreen->ModifyPixmapHeader = exaModifyPixmapHeader;
if (!pExaScr->info->CreatePixmap) { if (!pExaScr->info->CreatePixmap) {
LogMessage(X_INFO, "EXA(%d): Offscreen pixmap area of %lu bytes\n", LogMessage(X_INFO, "EXA(%d): Offscreen pixmap area of %lu bytes\n",
pScreen->myNum, pScreen->myNum,