diff options
Diffstat (limited to 'src/sna/sna_blt.c')
-rw-r--r-- | src/sna/sna_blt.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/sna/sna_blt.c b/src/sna/sna_blt.c index d7441ada..8b1bee12 100644 --- a/src/sna/sna_blt.c +++ b/src/sna/sna_blt.c @@ -2647,7 +2647,9 @@ nop: } if (op == PictOpOver && is_opaque_solid(src)) op = PictOpSrc; - if (op == PictOpAdd && is_white(src)) + if (op == PictOpAdd && + PICT_FORMAT_RGB(src->format) == PICT_FORMAT_RGB(dst->format) && + is_white(src)) op = PictOpSrc; if (was_clear && (op == PictOpAdd || op == PictOpOver)) { if (sna_pixmap(tmp->dst.pixmap)->clear_color == 0) |