diff options
author | Maarten Maathuis <madman2003@gmail.com> | 2009-02-28 22:15:04 +0100 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2009-03-04 16:51:10 +0100 |
commit | bd2f35ef0d4b8c56eb205b8694b4fe5d2fa2c049 (patch) | |
tree | be9499b26376919494afc8761b90ca6d5421bb3a /exa | |
parent | da8ea41a542787691ea1120e5c8c7dc3182cbea5 (diff) |
exa: fix unwrapping of ModifyPixmapHeader upon CloseScreen.
- Cleanup wrapping too.
Diffstat (limited to 'exa')
-rw-r--r-- | exa/exa.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -978,6 +978,8 @@ exaCloseScreen(int i, ScreenPtr pScreen) unwrap(pExaScr, pScreen, CreatePixmap); if (pExaScr->SavedDestroyPixmap) unwrap(pExaScr, pScreen, DestroyPixmap); + if (pExaScr->SavedModifyPixmapHeader) + unwrap(pExaScr, pScreen, ModifyPixmapHeader); unwrap(pExaScr, pScreen, CopyWindow); unwrap(pExaScr, pScreen, ChangeWindowAttributes); unwrap(pExaScr, pScreen, BitmapToRegion); @@ -1104,7 +1106,6 @@ exaDriverInit (ScreenPtr pScreen, #endif pExaScr = xcalloc (sizeof (ExaScreenPrivRec), 1); - if (!pExaScr) { LogMessage(X_WARNING, "EXA(%d): Failed to allocate screen private\n", pScreen->myNum); @@ -1169,8 +1170,7 @@ exaDriverInit (ScreenPtr pScreen, wrap(pExaScr, pScreen, CreatePixmap, exaCreatePixmap); wrap(pExaScr, pScreen, DestroyPixmap, exaDestroyPixmap); - pExaScr->SavedModifyPixmapHeader = pScreen->ModifyPixmapHeader; - pScreen->ModifyPixmapHeader = exaModifyPixmapHeader; + wrap(pExaScr, pScreen, ModifyPixmapHeader, exaModifyPixmapHeader); if (!pExaScr->info->CreatePixmap) { LogMessage(X_INFO, "EXA(%d): Offscreen pixmap area of %lu bytes\n", pScreen->myNum, |