diff options
author | Michel Dänzer <michel@tungstengraphics.com> | 2008-06-06 11:01:03 +0200 |
---|---|---|
committer | Michel Dänzer <michel@tungstengraphics.com> | 2008-06-06 11:01:03 +0200 |
commit | 6b96281100f2118fe9d99536c33d48298a5bce7b (patch) | |
tree | 73777b73b88ab14d067ad7bc718be640813dcdda /exa/exa_unaccel.c | |
parent | d25ffcfbfcfe8e059f2889873c9dbe76a28ad00c (diff) |
EXA: Fix exaGetPixmapFirstPixel() crash if the driver has a CreatePixmap hook.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16243
Diffstat (limited to 'exa/exa_unaccel.c')
-rw-r--r-- | exa/exa_unaccel.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index 5a2576414..ee6b98e35 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -362,6 +362,7 @@ ExaCheckComposite (CARD8 op, CARD32 exaGetPixmapFirstPixel (PixmapPtr pPixmap) { + ExaScreenPriv(pPixmap->drawable.pScreen); CARD32 pixel; void *fb; Bool need_finish = FALSE; @@ -376,7 +377,8 @@ exaGetPixmapFirstPixel (PixmapPtr pPixmap) fb = pExaPixmap->sys_ptr; /* Try to avoid framebuffer readbacks */ - if ((!offscreen && !sys_valid && !damaged) || + if (pExaScr->info->CreatePixmap || + (!offscreen && !sys_valid && !damaged) || (offscreen && (!sys_valid || damaged))) { box.x1 = 0; |