: There is one other place in the code that uses GrCopyArea() and XOR, and : it shows the same behavior. Different pixmaps, but the result is the : same - GR_MODE_COPY apparently.
Jim - I thought I had sent you some help on this last week. The problem is likely that the framebuffer you're running doesn't implement the blit XOR opcode, and copies instead. To debug this, I need to know the bits per pixel (bpp) that you're screen is configured for. From this I can determine the driver nano-X is using. The call chain will look like this, (go ahead and try debugging): nanox/srvfunc.c::GrCopyArea is called. GrCopyArea checks its last parameter, op, to see whether its MWROP_USE_GC_MODE. If so, then the op is taken from the passed gc. If not, then the op is used directly. You are passing FALSE, so this is in error. GrCopyArea then calls engine/devdraw.c::GdBlit with the opcode. GdBlit calls the driver Blit() entry point. If you're running 32bpp, this would be drivers/fblin32.c::linear32_blit(). There is a case statement that handles the XOR case using ApplyOp. Hope this helps! Regards, Greg --------------------------------------------------------------------- To unsubscribe, e-mail: nanogui-unsubscr...@linuxhacker.org For additional commands, e-mail: nanogui-h...@linuxhacker.org