} else
changes &= ~GCClipMask;
- if (changes || drawable->serialNumber != sgc->serial) {
+ if (changes || drawable->serialNumber != (sgc->serial & DRAWABLE_SERIAL_BITS)) {
+ long tmp = gc->serialNumber;
gc->serialNumber = sgc->serial;
if (fb_gc(gc)->bpp != drawable->bitsPerPixel) {
}
fbValidateGC(gc, changes, drawable);
-
- sgc->serial = drawable->serialNumber;
+ gc->serialNumber = tmp;
}
sgc->changes = 0;
assert(RegionNil(gc->pCompositeClip) || gc->pCompositeClip->extents.y2 - drawable->y <= drawable->height);
sna_gc(gc)->changes |= changes;
+ sna_gc(gc)->serial = gc->serialNumber;
}
static const GCFuncs sna_gc_funcs = {