summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorAnders Bakken <anders.bakken@nokia.com>2009-04-07 01:51:52 (GMT)
committerAnders Bakken <anders.bakken@nokia.com>2009-04-07 01:51:52 (GMT)
commit5fb7752ff93b31635e64fa321917749744cc9db6 (patch)
treecd8b6464a53848154ced82778018a8bfea068f33 /src/plugins
parentfb7275161fa646c76cf47dfc8eb41e9356639e70 (diff)
downloadQt-5fb7752ff93b31635e64fa321917749744cc9db6.zip
Qt-5fb7752ff93b31635e64fa321917749744cc9db6.tar.gz
Qt-5fb7752ff93b31635e64fa321917749744cc9db6.tar.bz2
Make sure RGB32 workaround works for windows
Need to set forceRaster to true if the window surface is RGB32. Reviewed-by: TrustMe
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp
index ef208af..ec108c4 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbsurface.cpp
@@ -111,6 +111,7 @@ void QDirectFBSurface::createWindow()
dfbSurface->Release(dfbSurface);
dfbWindow->GetSurface(dfbWindow, &dfbSurface);
+ forceRaster = (dfbSurface && QDirectFBScreen::getImageFormat(dfbSurface) == QImage::Format_RGB32);
}
#endif // QT_NO_DIRECTFB_WM
@@ -143,6 +144,7 @@ void QDirectFBSurface::setGeometry(const QRect &rect, const QRegion &mask)
IDirectFBSurface *primarySurface = screen->dfbSurface();
Q_ASSERT(primarySurface);
result = primarySurface->GetSubSurface(primarySurface, &r, &dfbSurface);
+ forceRaster = (dfbSurface && QDirectFBScreen::getImageFormat(dfbSurface) == QImage::Format_RGB32);
} else {
#ifdef QT_NO_DIRECTFB_WM
if (isResize) {
@@ -164,6 +166,7 @@ void QDirectFBSurface::setGeometry(const QRect &rect, const QRegion &mask)
QDirectFBScreen::initSurfaceDescriptionPixelFormat(&description,
QDirectFBScreen::instance()->pixelFormat());
dfbSurface = QDirectFBScreen::instance()->createDFBSurface(&description, false);
+ forceRaster = (dfbSurface && QDirectFBScreen::getImageFormat(dfbSurface) == QImage::Format_RGB32);
} else {
Q_ASSERT(dfbSurface);
}