summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/sna_blt.c4
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)