I seems that the problem I noted in bug #931 goes away when "PerfectGraphics" is set to false (????). I tracked the problem down to implementation of PATINVERT in BITBLT_InternalStretchBlt() (in graphics/x11drv/bitblt.c). It check whether 'perfect_graphics' is on and if it is it actually doesn't do the drawing:
case PATINVERT: /* 0x5a */ if (perfect_graphics()) break;
Maybe I'm missing soemthing here but I think that test should be:
case PATINVERT: /* 0x5a */ if (!perfect_graphics()) break;
That would give a more logical behaviour where there would not be any drawing errors when "PerfectGraphics" is set to True. (There are other spots where this is used in similar fashion)
Another question is why have the "PerfectGraphics" option at all when it produces drawing artifacts?
D.