summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJulien Brianceau <jbrianceau@nds.com>2012-10-23 09:09:59 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-10-23 23:26:21 +0200
commit457285b79ef6fe6c608349aec91710c7b0b7646a (patch)
tree4be46a066b21229f330ab39b190dfc33f629d8a3 /src/plugins
parent1ca713f5d33fe52e3ae4c1f85c6e044ae9901f89 (diff)
qpa: Fix drawPixmap rendering using CompositionMode_Source in DirectFB
cherry-picked from qt5/qtbase d8c8057c03fc906f3bee0905246ca18351bd9e1b Change-Id: I6728307150c75a8e01f498cf55320a2956aa07ad Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src/plugins')
-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 e69c22d0bf..8ff9e9a243 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);