summaryrefslogtreecommitdiff
path: root/exa/exa.c
diff options
context:
space:
mode:
authorMaarten Maathuis <madman2003@gmail.com>2009-08-08 11:32:05 +0200
committerMaarten Maathuis <madman2003@gmail.com>2009-08-08 11:38:51 +0200
commitd573cc46d3106824902ab4f926617bd9959af57c (patch)
treef959775a556b98f0d011cab60544209717e14db4 /exa/exa.c
parent8b652435cd42929e2d187b353b3b20e798569356 (diff)
exa: more safety
Diffstat (limited to 'exa/exa.c')
-rw-r--r--exa/exa.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/exa/exa.c b/exa/exa.c
index c8fe12e9a..483e3b4eb 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -336,7 +336,7 @@ ExaDoPrepareAccess(DrawablePtr pDrawable, int index)
if (!offscreen) {
/* Do we need to allocate our system buffer? */
if ((pExaScr->info->flags & EXA_HANDLES_PIXMAPS) && (pExaScr->info->flags & EXA_MIXED_PIXMAPS)) {
- if (!pExaPixmap->sys_ptr) {
+ if (!pExaPixmap->sys_ptr && !exaPixmapIsPinned(pPixmap)) {
pExaPixmap->sys_ptr = malloc(pExaPixmap->sys_pitch * pDrawable->height);
if (!pExaPixmap->sys_ptr)
FatalError("EXA: malloc failed for size %d bytes\n", pExaPixmap->sys_pitch * pDrawable->height);