summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qwindowsurface_s60.cpp
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar@trolltech.com>2010-08-17 05:30:30 (GMT)
committerGunnar Sletta <gunnar@trolltech.com>2010-08-17 05:30:30 (GMT)
commitae1fde5d436a047c124f8382fdcd71bb1af306e3 (patch)
treea937de1c678aaeda2f12fac891f49930d244e954 /src/gui/painting/qwindowsurface_s60.cpp
parent50a53d2f7a7e12cd597dc72a08ad62b79fee4554 (diff)
parent8afc6773067bb878020c29b3bebfe8662e3fbfdd (diff)
downloadQt-ae1fde5d436a047c124f8382fdcd71bb1af306e3.zip
Qt-ae1fde5d436a047c124f8382fdcd71bb1af306e3.tar.gz
Qt-ae1fde5d436a047c124f8382fdcd71bb1af306e3.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-2
Diffstat (limited to 'src/gui/painting/qwindowsurface_s60.cpp')
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/gui/painting/qwindowsurface_s60.cpp b/src/gui/painting/qwindowsurface_s60.cpp
index 477bd93..8bac1f5 100644
--- a/src/gui/painting/qwindowsurface_s60.cpp
+++ b/src/gui/painting/qwindowsurface_s60.cpp
@@ -67,10 +67,14 @@ QS60WindowSurface::QS60WindowSurface(QWidget* widget)
TDisplayMode mode = S60->screenDevice()->DisplayMode();
bool isOpaque = qt_widget_private(widget)->isOpaque;
- if (mode == EColor16MA && isOpaque)
- mode = EColor16MU; // Faster since 16MU -> 16MA is typically accelerated
- else if (mode == EColor16MU && !isOpaque)
- mode = EColor16MA; // Try for transparency anyway
+ if (isOpaque) {
+ mode = EColor16MU;
+ } else {
+ if (QSysInfo::symbianVersion() >= QSysInfo::SV_SF_3)
+ mode = Q_SYMBIAN_ECOLOR16MAP; // Symbian^3 WServ has support for ARGB32_PRE
+ else
+ mode = EColor16MA; // Symbian prior to Symbian^3 sw accelerates EColor16MA
+ }
// We create empty CFbsBitmap here -> it will be resized in setGeometry
CFbsBitmap *bitmap = q_check_ptr(new CFbsBitmap); // CBase derived object needs check on new