summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb
diff options
context:
space:
mode:
authorJulien Brianceau <jbrianceau@nds.com>2012-10-19 11:35:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-22 22:37:40 +0200
commitd8c8057c03fc906f3bee0905246ca18351bd9e1b (patch)
tree8ef6ed0b69c0e8999e43bfda1d3d81fc9fffcd0f /src/plugins/platforms/directfb
parentebaed02ae680cf37f014b314baef429a0e642c53 (diff)
qpa: Fix drawPixmap rendering using CompositionMode_Source in DirectFB
Change-Id: I646bc7054e1aa17dca4f54ddd3d2668c173773d4 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
Diffstat (limited to 'src/plugins/platforms/directfb')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbblitter.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/directfb/qdirectfbblitter.cpp b/src/plugins/platforms/directfb/qdirectfbblitter.cpp
index 428ee72f9e..cac250fb9d 100644
--- a/src/plugins/platforms/directfb/qdirectfbblitter.cpp
+++ b/src/plugins/platforms/directfb/qdirectfbblitter.cpp
@@ -197,7 +197,9 @@ void QDirectFbBlitter::drawPixmapOpacity(const QRectF &rect, const QPixmap &pixm
m_surface->SetBlittingFlags(m_surface.data(), DFBSurfaceBlittingFlags(blittingFlags));
m_surface->SetPorterDuff(m_surface.data(), porterDuff);
- m_surface->SetDstBlendFunction(m_surface.data(), DSBF_INVSRCALPHA);
+
+ if (cmode == QPainter::CompositionMode_SourceOver)
+ m_surface->SetDstBlendFunction(m_surface.data(), DSBF_INVSRCALPHA);
if ((sRect.w == dRect.w) && (sRect.h == dRect.h))
result = m_surface->Blit(m_surface.data(), s, &sRect, dRect.x, dRect.y);