qpa: Fix drawPixmap rendering using CompositionMode_Source in DirectFB
authorJulien Brianceau <jbrianceau@nds.com>
Fri, 19 Oct 2012 09:35:43 +0000 (11:35 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 22 Oct 2012 20:37:40 +0000 (22:37 +0200)
Change-Id: I646bc7054e1aa17dca4f54ddd3d2668c173773d4
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Jørgen Lind <jorgen.lind@gmail.com>
src/plugins/platforms/directfb/qdirectfbblitter.cpp

index 428ee72..cac250f 100644 (file)
@@ -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);