diff options
Diffstat (limited to 'src/core/compositor/display_software_output_surface.cpp')
-rw-r--r-- | src/core/compositor/display_software_output_surface.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/compositor/display_software_output_surface.cpp b/src/core/compositor/display_software_output_surface.cpp index 5d3c7a6f6..ba99799f0 100644 --- a/src/core/compositor/display_software_output_surface.cpp +++ b/src/core/compositor/display_software_output_surface.cpp @@ -137,7 +137,9 @@ QSGNode *DisplaySoftwareOutputSurface::Device::updatePaintNode( skPixmap.rowBytes(), imageFormat(skPixmap.colorType())); if (m_image.size() == image.size()) { QRect damageRect = toQt(damage_rect_); - QPainter(&m_image).drawImage(damageRect, image, damageRect); + QPainter painter(&m_image); + painter.setCompositionMode(QPainter::CompositionMode_Source); + painter.drawImage(damageRect, image, damageRect); } else { m_image = image; m_image.detach(); |