summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-02-28 22:15:04 +0100
committerMaarten Maathuis <madman2003@gmail.com>2009-03-04 16:51:10 +0100
commitbd2f35ef0d4b8c56eb205b8694b4fe5d2fa2c049 (patch)
treebe9499b26376919494afc8761b90ca6d5421bb3a
parentda8ea41a542787691ea1120e5c8c7dc3182cbea5 (diff)
exa: fix unwrapping of ModifyPixmapHeader upon CloseScreen.
- Cleanup wrapping too.
-rw-r--r--exa/exa.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/exa/exa.c b/exa/exa.c
index 0ecbcf743..d4a3cd77c 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -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,