Bugzilla #5120, #7246: In CW's GC ops, validate the backing GC against the

backing drawable if the serial numbers differ.  Fixes crash in XAA which
occurred when the DDX bumped the serial number on the backing drawable and
expected it to get re-validated, and we didn't because the wrapped drawable
hadn't been bumped.
This commit is contained in:
Eric Anholt 2006-06-16 10:14:30 -07:00
parent b90088321e
commit 53f74b6aa9

View File

@ -28,6 +28,7 @@
#include <stdlib.h>
#include "gcstruct.h"
#include "pixmapstr.h"
#include "cw.h"
#define SETUP_BACKING_DST(_pDst, _pGC) \
@ -43,6 +44,9 @@
&src_off_y)
#define PROLOGUE(pGC) do { \
if (pBackingGC->serialNumber != pBackingDst->serialNumber) { \
ValidateGC(pBackingDst, pBackingGC); \
} \
pGC->funcs = pGCPrivate->wrapFuncs;\
pGC->ops = pGCPrivate->wrapOps;\
} while (0)