summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-08-10 04:22:03 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-08-10 04:22:03 (GMT)
commit4b029b2882d9dd59893807b2db72efc43792aafd (patch)
tree06d7cf3c4fb55c37c3684eaccfdd930d5ed73239
parent8d312c3c91931d60ef3d4585cb729db21f3489c2 (diff)
parentd3ab1fccea2b1e011e7518269a29045a53f0a30b (diff)
downloadQt-4b029b2882d9dd59893807b2db72efc43792aafd.zip
Qt-4b029b2882d9dd59893807b2db72efc43792aafd.tar.gz
Qt-4b029b2882d9dd59893807b2db72efc43792aafd.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-s60-public: Pending surface might not get destroyed if no flush() happens Rename Symbian generated mmp/mk files to include target in filename Use ARGB32 premultiplied backing store format in Symbian^3 Register window types for Symbian system effects Added $$MW_LAYER_SYSTEMINCLUDE to some autotests Fix duplicate binary names issues in Symbian autotests Fix some autotest deployments to work in case Qt is already deployed Fix run and runonphone targets for projects that have TARGET with path
-rw-r--r--mkspecs/features/symbian/run_on_phone.prf8
-rw-r--r--qmake/generators/symbian/symmake.cpp33
-rw-r--r--qmake/generators/symbian/symmake.h2
-rw-r--r--qmake/generators/symbian/symmake_abld.cpp9
-rw-r--r--qmake/generators/symbian/symmake_abld.h2
-rw-r--r--src/gui/kernel/qapplication.h3
-rw-r--r--src/gui/kernel/qapplication_p.h1
-rw-r--r--src/gui/kernel/qapplication_s60.cpp63
-rw-r--r--src/gui/painting/qgraphicssystem_runtime.cpp19
-rw-r--r--src/gui/painting/qgraphicssystem_runtime_p.h4
-rw-r--r--src/gui/painting/qwindowsurface_s60.cpp12
-rw-r--r--tests/auto/qdom/qdom.pro4
-rw-r--r--tests/auto/qfile/qfile.pro2
-rw-r--r--tests/auto/qfileinfo/qfileinfo.pro1
-rw-r--r--tests/auto/qlocale/test/test.pro2
-rw-r--r--tests/auto/qpluginloader/lib/lib.pro2
-rw-r--r--tests/auto/qpluginloader/tst/tst.pro2
-rw-r--r--tests/auto/qpluginloader/tst_qpluginloader.cpp2
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro1
-rw-r--r--tests/auto/qsvgrenderer/qsvgrenderer.pro4
-rw-r--r--tests/auto/qtextcodec/qtextcodec.pro2
-rw-r--r--tests/auto/qtextcodec/test/test.pro4
-rw-r--r--tests/auto/qtextcodec/tst_qtextcodec.cpp2
-rw-r--r--tests/auto/qtextstream/qtextstream.pro3
24 files changed, 126 insertions, 61 deletions
diff --git a/mkspecs/features/symbian/run_on_phone.prf b/mkspecs/features/symbian/run_on_phone.prf
index 818151a..f77369c 100644
--- a/mkspecs/features/symbian/run_on_phone.prf
+++ b/mkspecs/features/symbian/run_on_phone.prf
@@ -13,23 +13,25 @@ else:!equals(DEPLOYMENT, default_deployment) {
equals(GENERATE_RUN_TARGETS, true) {
symbian-abld|symbian-sbsv2 {
sis_destdir =
+ sis_file = $$basename(TARGET).sis
} else {
sis_destdir = $$DESTDIR
+ sis_file = $${TARGET}.sis
!isEmpty(sis_destdir):!contains(sis_destdir, "[/\\\\]$"):sis_destdir = $${sis_destdir}/
contains(QMAKE_HOST.os, "Windows"):sis_destdir = $$replace(sis_destdir, "/", "\\")
}
contains(SYMBIAN_PLATFORMS, "WINSCW"):contains(TEMPLATE, "app") {
run_target.target = run
- run_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$${TARGET}.exe" $(QT_RUN_OPTIONS)
+ run_target.commands = call "$${EPOCROOT}epoc32/release/winscw/udeb/$$basename(TARGET).exe" $(QT_RUN_OPTIONS)
QMAKE_EXTRA_TARGETS += run_target
}
runonphone_target.target = runonphone
runonphone_target.depends = sis
- runonphone_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${TARGET}.sis"
- contains(TEMPLATE, "app"):runonphone_target.commands += "$${TARGET}.exe" $(QT_RUN_OPTIONS)
+ runonphone_target.commands = runonphone $(QT_RUN_ON_PHONE_OPTIONS) --sis "$${sis_destdir}$${sis_file}"
+ contains(TEMPLATE, "app"):runonphone_target.commands += "$$basename(TARGET).exe" $(QT_RUN_OPTIONS)
QMAKE_EXTRA_TARGETS += runonphone_target
}
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index ff58270..cf6bd13 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -241,13 +241,8 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t)
writeMkFile(wrapperFileName, false);
- QString shortProFilename = project->projectFile();
- shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(Option::pro_ext, QString(""));
-
- QString mmpFilename = Option::output_dir + QLatin1Char('/') + shortProFilename + QLatin1Char('_')
- + uid3 + Option::mmp_ext;
- writeMmpFile(mmpFilename, symbianLangCodes);
+ QString absoluteMmpFileName = Option::output_dir + QLatin1Char('/') + mmpFileName;
+ writeMmpFile(absoluteMmpFileName, symbianLangCodes);
if (targetType == TypeExe) {
if (!project->isActiveConfig("no_icon")) {
@@ -281,6 +276,15 @@ void SymbianMakefileGenerator::init()
project->values("MAKEFILE") += BLD_INF_FILENAME;
// .mmp
+ mmpFileName = fixedTarget;
+ if (targetType == TypeExe)
+ mmpFileName.append("_exe");
+ else if (targetType == TypeDll || targetType == TypePlugin)
+ mmpFileName.append("_dll");
+ else if (targetType == TypeLib)
+ mmpFileName.append("_lib");
+ mmpFileName.append(Option::mmp_ext);
+
initMmpVariables();
uid2 = project->first("TARGET.UID2");
@@ -480,7 +484,7 @@ void SymbianMakefileGenerator::writeMmpFileHeader(QTextStream &t)
t << QDateTime::currentDateTime().toString(Qt::ISODate) << endl;
t << "// This file is generated by qmake and should not be modified by the" << endl;
t << "// user." << endl;
- t << "// Name : " << escapeFilePath(fileFixify(project->projectFile().remove(project->projectFile().length() - 4, 4))) << Option::mmp_ext << endl;
+ t << "// Name : " << mmpFileName << endl;
t << "// ==============================================================================" << endl << endl;
}
@@ -890,8 +894,6 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
// Add includes of subdirs bld.inf files
- QString mmpfilename = escapeFilePath(fileFixify(project->projectFile()));
- mmpfilename = mmpfilename.replace(mmpfilename.lastIndexOf("."), 4, Option::mmp_ext);
QString currentPath = qmake_getpwd();
QDir directory(currentPath);
@@ -973,15 +975,8 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy
t << endl << mmpTag << endl << endl;
writeBldInfMkFilePart(t, addDeploymentExtension);
- if (targetType != TypeSubdirs) {
- QString shortProFilename = project->projectFile();
- shortProFilename.replace(0, shortProFilename.lastIndexOf("/") + 1, QString(""));
- shortProFilename.replace(Option::pro_ext, QString(""));
-
- QString mmpFilename = shortProFilename + QString("_") + uid3 + Option::mmp_ext;
-
- t << mmpFilename << endl;
- }
+ if (targetType != TypeSubdirs)
+ t << mmpFileName << endl;
userItems = userBldInfRules.value(mmpTag);
foreach(QString item, userItems)
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index 9853790..a1a8e88 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -59,6 +59,7 @@ class SymbianMakefileGenerator : public MakefileGenerator, public SymbianCommonG
protected:
QString platform;
QString uid2;
+ QString mmpFileName;
QMap<QString, QStringList> sources;
QMap<QString, QStringList> systeminclude;
QMap<QString, QStringList> library;
@@ -78,6 +79,7 @@ protected:
QString generateUID3();
void initMmpVariables();
+ void generateMmpFileName();
void handleMmpRulesOverrides(QString &checkString,
bool &inResourceBlock,
QStringList &restrictedMmpKeywords,
diff --git a/qmake/generators/symbian/symmake_abld.cpp b/qmake/generators/symbian/symmake_abld.cpp
index d60528b..c896ac6 100644
--- a/qmake/generators/symbian/symmake_abld.cpp
+++ b/qmake/generators/symbian/symmake_abld.cpp
@@ -70,10 +70,6 @@ SymbianAbldMakefileGenerator::~SymbianAbldMakefileGenerator() { }
void SymbianAbldMakefileGenerator::writeMkFile(const QString& wrapperFileName, bool deploymentOnly)
{
- QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
- removeEpocSpecialCharacters(gnuMakefileName);
- gnuMakefileName.append(".mk");
-
QFile ft(gnuMakefileName);
if (ft.open(QIODevice::WriteOnly)) {
generatedFiles << ft.fileName();
@@ -471,9 +467,8 @@ void SymbianAbldMakefileGenerator::writeBldInfMkFilePart(QTextStream& t, bool ad
// Normally emulator deployment gets done via regular makefile, but since subdirs
// do not get that, special deployment only makefile is generated for them if needed.
if (targetType != TypeSubdirs || addDeploymentExtension) {
- QString gnuMakefileName = QLatin1String("Makefile_") + uid3;
- removeEpocSpecialCharacters(gnuMakefileName);
- gnuMakefileName.append(".mk");
+ gnuMakefileName = QLatin1String("Makefile_") + fileInfo(mmpFileName).completeBaseName()
+ + QLatin1String(".mk");
t << "gnumakefile " << gnuMakefileName << endl;
}
}
diff --git a/qmake/generators/symbian/symmake_abld.h b/qmake/generators/symbian/symmake_abld.h
index f998b28..214e0c5 100644
--- a/qmake/generators/symbian/symmake_abld.h
+++ b/qmake/generators/symbian/symmake_abld.h
@@ -58,7 +58,7 @@ protected:
virtual void appendAbldTempDirs(QStringList& sysincspaths, QString includepath);
bool writeDeploymentTargets(QTextStream &t, bool isRom);
-
+ QString gnuMakefileName;
public:
SymbianAbldMakefileGenerator();
diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h
index 799d4c2..0242582 100644
--- a/src/gui/kernel/qapplication.h
+++ b/src/gui/kernel/qapplication.h
@@ -412,6 +412,9 @@ private:
#if defined(QT_RX71_MULTITOUCH)
Q_PRIVATE_SLOT(d_func(), void _q_readRX71MultiTouchEvents())
#endif
+#if defined(Q_OS_SYMBIAN)
+ Q_PRIVATE_SLOT(d_func(), void _q_aboutToQuit())
+#endif
};
QT_END_NAMESPACE
diff --git a/src/gui/kernel/qapplication_p.h b/src/gui/kernel/qapplication_p.h
index 53205b5..8dc16e0 100644
--- a/src/gui/kernel/qapplication_p.h
+++ b/src/gui/kernel/qapplication_p.h
@@ -519,6 +519,7 @@ public:
int symbianHandleCommand(const QSymbianEvent *symbianEvent);
int symbianResourceChange(const QSymbianEvent *symbianEvent);
+ void _q_aboutToQuit();
#endif
#if defined(Q_WS_WIN) || defined(Q_WS_X11) || defined (Q_WS_QWS) || defined(Q_WS_MAC)
void sendSyntheticEnterLeave(QWidget *widget);
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 1f6a4ae..c3824f9 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -87,6 +87,10 @@
#include <hal.h>
#include <hal_data.h>
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+#include <graphics/wstfxconst.h>
+#endif
+
QT_BEGIN_NAMESPACE
// Goom Events through Window Server
@@ -372,7 +376,7 @@ void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop)
{
if (!desktop)
{
- if (isWindowOwning or !qwidget->parentWidget())
+ if (isWindowOwning || !qwidget->parentWidget())
CreateWindowL(S60->windowGroup());
else
/**
@@ -395,6 +399,34 @@ void QSymbianControl::ConstructL(bool isWindowOwning, bool desktop)
DrawableWindow()->SetPointerGrab(ETrue);
}
+
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ if (OwnsWindow()) {
+ TTfxWindowPurpose windowPurpose(ETfxPurposeNone);
+ switch (qwidget->windowType()) {
+ case Qt::Dialog:
+ windowPurpose = ETfxPurposeDialogWindow;
+ break;
+ case Qt::Popup:
+ windowPurpose = ETfxPurposePopupWindow;
+ break;
+ case Qt::Tool:
+ windowPurpose = ETfxPurposeToolWindow;
+ break;
+ case Qt::ToolTip:
+ windowPurpose = ETfxPurposeToolTipWindow;
+ break;
+ case Qt::SplashScreen:
+ windowPurpose = ETfxPurposeSplashScreenWindow;
+ break;
+ default:
+ windowPurpose = (isWindowOwning || !qwidget->parentWidget())
+ ? ETfxPurposeWindow : ETfxPurposeChildWindow;
+ break;
+ }
+ Window().SetPurpose(windowPurpose);
+ }
+#endif
}
QSymbianControl::~QSymbianControl()
@@ -1035,7 +1067,7 @@ void QSymbianControl::Draw(const TRect& controlRect) const
if (QApplicationPrivate::runtime_graphics_system) {
QRuntimeWindowSurface *rtSurface =
static_cast<QRuntimeWindowSurface*>(qwidget->windowSurface());
- s60Surface = static_cast<QS60WindowSurface *>(rtSurface->m_windowSurface);
+ s60Surface = static_cast<QS60WindowSurface *>(rtSurface->m_windowSurface.data());
} else
#endif
s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface());
@@ -1055,7 +1087,8 @@ void QSymbianControl::Draw(const TRect& controlRect) const
break;
case QWExtra::ZeroFill:
- if (Window().DisplayMode() == EColor16MA) {
+ if (Window().DisplayMode() == EColor16MA
+ || Window().DisplayMode() == Q_SYMBIAN_ECOLOR16MAP) {
gc.SetBrushStyle(CGraphicsContext::ESolidBrush);
gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
gc.SetBrushColor(TRgb::Color16MA(0));
@@ -1483,6 +1516,10 @@ void qt_init(QApplicationPrivate * /* priv */, int)
systemFont.setFamily(systemFont.defaultFamily());
QApplicationPrivate::setSystemFont(systemFont);
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ QObject::connect(qApp, SIGNAL(aboutToQuit()), qApp, SLOT(_q_aboutToQuit()));
+#endif
+
/*
### Commented out for now as parameter handling not needed in SOS(yet). Code below will break testlib with -o flag
int argc = priv->argc;
@@ -1572,6 +1609,9 @@ bool QApplicationPrivate::modalState()
void QApplicationPrivate::enterModal_sys(QWidget *widget)
{
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ S60->wsSession().SendEffectCommand(ETfxCmdAppModalModeEnter);
+#endif
if (widget) {
static_cast<QSymbianControl *>(widget->effectiveWinId())->FadeBehindPopup(ETrue);
// Modal partial screen dialogs (like queries) capture pointer events.
@@ -1587,6 +1627,9 @@ void QApplicationPrivate::enterModal_sys(QWidget *widget)
void QApplicationPrivate::leaveModal_sys(QWidget *widget)
{
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ S60->wsSession().SendEffectCommand(ETfxCmdAppModalModeExit);
+#endif
if (widget) {
static_cast<QSymbianControl *>(widget->effectiveWinId())->FadeBehindPopup(EFalse);
// ### FixMe: Add specialized behaviour for fullscreen modal dialogs
@@ -1883,6 +1926,9 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
break;
QRefCountedWidgetBackingStore &backingStore = window->d_func()->maybeTopData()->backingStore;
if (visChangedEvent->iFlags & TWsVisibilityChangedEvent::ENotVisible) {
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ S60->wsSession().SendEffectCommand(ETfxCmdDeallocateLayer);
+#endif
// Decrement backing store reference count
backingStore.deref();
// In order to ensure that any resources used by the window surface
@@ -1893,6 +1939,9 @@ int QApplicationPrivate::symbianProcessWsEvent(const QSymbianEvent *symbianEvent
// Increment backing store reference count
backingStore.ref();
} else {
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ S60->wsSession().SendEffectCommand(ETfxCmdRestoreLayer);
+#endif
// Create backing store with an initial reference count of 1
backingStore.create(window);
backingStore.ref();
@@ -2268,6 +2317,14 @@ void QApplication::restoreOverrideCursor()
#endif // QT_NO_CURSOR
+void QApplicationPrivate::_q_aboutToQuit()
+{
+#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
+ // Send the shutdown tfx command
+ S60->wsSession().SendEffectCommand(ETfxCmdAppShutDown);
+#endif
+}
+
QS60ThreadLocalData::QS60ThreadLocalData()
{
CCoeEnv *env = CCoeEnv::Static();
diff --git a/src/gui/painting/qgraphicssystem_runtime.cpp b/src/gui/painting/qgraphicssystem_runtime.cpp
index be04df6..e1e0ad0 100644
--- a/src/gui/painting/qgraphicssystem_runtime.cpp
+++ b/src/gui/painting/qgraphicssystem_runtime.cpp
@@ -251,7 +251,7 @@ QPixmapData* QRuntimePixmapData::runtimeData() const
}
QRuntimeWindowSurface::QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, QWidget *window)
- : QWindowSurface(window), m_windowSurface(0), m_pendingWindowSurface(0), m_graphicsSystem(gs)
+ : QWindowSurface(window), m_graphicsSystem(gs)
{
}
@@ -259,7 +259,6 @@ QRuntimeWindowSurface::QRuntimeWindowSurface(const QRuntimeGraphicsSystem *gs, Q
QRuntimeWindowSurface::~QRuntimeWindowSurface()
{
m_graphicsSystem->removeWindowSurface(this);
- delete m_windowSurface;
}
QPaintDevice *QRuntimeWindowSurface::paintDevice()
@@ -278,8 +277,7 @@ void QRuntimeWindowSurface::flush(QWidget *widget, const QRegion &region,
#ifdef QT_DEBUG
qDebug() << "QRuntimeWindowSurface::flush() - destroy pending window surface";
#endif
- delete m_pendingWindowSurface;
- m_pendingWindowSurface = 0;
+ m_pendingWindowSurface.reset();
}
}
@@ -355,7 +353,7 @@ QWindowSurface *QRuntimeGraphicsSystem::createWindowSurface(QWidget *widget) con
{
Q_ASSERT(m_graphicsSystem);
QRuntimeWindowSurface *rtSurface = new QRuntimeWindowSurface(this, widget);
- rtSurface->m_windowSurface = m_graphicsSystem->createWindowSurface(widget);
+ rtSurface->m_windowSurface.reset(m_graphicsSystem->createWindowSurface(widget));
widget->setWindowSurface(rtSurface);
m_windowSurfaces << rtSurface;
return rtSurface;
@@ -379,7 +377,6 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
for (int i = 0; i < m_pixmapDatas.size(); ++i) {
QRuntimePixmapData *proxy = m_pixmapDatas.at(i);
QPixmapData *newData = m_graphicsSystem->createPixmapData(proxy->m_data);
- // ### TODO Optimize. Openvg and s60raster graphics systems could switch internal ARGB32_PRE QImage buffers.
newData->fromImage(proxy->m_data->toImage(), Qt::NoOpaqueDetection);
delete proxy->m_data;
proxy->m_data = newData;
@@ -390,14 +387,10 @@ void QRuntimeGraphicsSystem::setGraphicsSystem(const QString &name)
QRuntimeWindowSurface *proxy = m_windowSurfaces.at(i);
QWidget *widget = proxy->m_windowSurface->window();
- if(m_windowSurfaceDestroyPolicy == DestroyImmediately) {
- delete proxy->m_windowSurface;
- proxy->m_pendingWindowSurface = 0;
- } else {
- proxy->m_pendingWindowSurface = proxy->m_windowSurface;
- }
+ if(m_windowSurfaceDestroyPolicy == DestroyAfterFirstFlush)
+ proxy->m_pendingWindowSurface.reset(proxy->m_windowSurface.take());
- proxy->m_windowSurface = m_graphicsSystem->createWindowSurface(widget);
+ proxy->m_windowSurface.reset(m_graphicsSystem->createWindowSurface(widget));
qt_widget_private(widget)->invalidateBuffer(widget->rect());
}
}
diff --git a/src/gui/painting/qgraphicssystem_runtime_p.h b/src/gui/painting/qgraphicssystem_runtime_p.h
index d4c9152..0232241 100644
--- a/src/gui/painting/qgraphicssystem_runtime_p.h
+++ b/src/gui/painting/qgraphicssystem_runtime_p.h
@@ -129,8 +129,8 @@ public:
virtual QPoint offset(const QWidget *widget) const;
- QWindowSurface *m_windowSurface;
- QWindowSurface *m_pendingWindowSurface;
+ QScopedPointer<QWindowSurface> m_windowSurface;
+ QScopedPointer<QWindowSurface> m_pendingWindowSurface;
private:
const QRuntimeGraphicsSystem *m_graphicsSystem;
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
diff --git a/tests/auto/qdom/qdom.pro b/tests/auto/qdom/qdom.pro
index 5434ada..9040b91 100644
--- a/tests/auto/qdom/qdom.pro
+++ b/tests/auto/qdom/qdom.pro
@@ -9,7 +9,9 @@ wince*|symbian: {
addFiles.path = .
DEPLOYMENT += addFiles
- DEPLOYMENT_PLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ wince*|qt_not_deployed {
+ DEPLOYMENT_PLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ }
!symbian:DEFINES += SRCDIR=\\\"\\\"
}
else {
diff --git a/tests/auto/qfile/qfile.pro b/tests/auto/qfile/qfile.pro
index 0383e30..727f660 100644
--- a/tests/auto/qfile/qfile.pro
+++ b/tests/auto/qfile/qfile.pro
@@ -1,5 +1,5 @@
TEMPLATE = subdirs
-wince*:{
+wince*|symbian:{
SUBDIRS = test
} else {
SUBDIRS = test stdinprocess
diff --git a/tests/auto/qfileinfo/qfileinfo.pro b/tests/auto/qfileinfo/qfileinfo.pro
index ef5ed22..30656e2 100644
--- a/tests/auto/qfileinfo/qfileinfo.pro
+++ b/tests/auto/qfileinfo/qfileinfo.pro
@@ -16,6 +16,7 @@ wince*:|symbian: {
symbian {
TARGET.CAPABILITY=AllFiles
LIBS *= -lefsrv
+ INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE # Needed for e32svr.h in S^3 envs
}
# support for running test from shadow build directory
diff --git a/tests/auto/qlocale/test/test.pro b/tests/auto/qlocale/test/test.pro
index e33d0fe..6512e19 100644
--- a/tests/auto/qlocale/test/test.pro
+++ b/tests/auto/qlocale/test/test.pro
@@ -37,3 +37,5 @@ symbian:contains(S60_VERSION,3.2) {
"$${LITERAL_HASH}endif"
MMP_RULES += custom_paged_rule
}
+
+symbian: INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE # Needed for e32svr.h in S^3 envs
diff --git a/tests/auto/qpluginloader/lib/lib.pro b/tests/auto/qpluginloader/lib/lib.pro
index 96a9732..ce9bf13 100644
--- a/tests/auto/qpluginloader/lib/lib.pro
+++ b/tests/auto/qpluginloader/lib/lib.pro
@@ -2,7 +2,7 @@ TEMPLATE = lib
CONFIG += dll
CONFIG -= staticlib
SOURCES = mylib.c
-TARGET = mylib
+TARGET = tst_qpluginloaderlib
DESTDIR = ../bin
QT = core
diff --git a/tests/auto/qpluginloader/tst/tst.pro b/tests/auto/qpluginloader/tst/tst.pro
index 2de0912..2d757e7 100644
--- a/tests/auto/qpluginloader/tst/tst.pro
+++ b/tests/auto/qpluginloader/tst/tst.pro
@@ -20,7 +20,7 @@ wince*: {
}
symbian: {
- libDep.sources = mylib.dll
+ libDep.sources = tst_qpluginloaderlib.dll
libDep.path = /sys/bin
pluginDep.sources = theplugin.dll
pluginDep.path = bin
diff --git a/tests/auto/qpluginloader/tst_qpluginloader.cpp b/tests/auto/qpluginloader/tst_qpluginloader.cpp
index 705e600..e913cb5 100644
--- a/tests/auto/qpluginloader/tst_qpluginloader.cpp
+++ b/tests/auto/qpluginloader/tst_qpluginloader.cpp
@@ -169,7 +169,7 @@ void tst_QPluginLoader::errorString()
QCOMPARE(loader.errorString(), unknown);
}
{
- QPluginLoader loader( sys_qualifiedLibraryName("mylib")); //not a plugin
+ QPluginLoader loader( sys_qualifiedLibraryName("tst_qpluginloaderlib")); //not a plugin
bool loaded = loader.load();
#ifdef SHOW_ERRORS
qDebug() << loader.errorString();
diff --git a/tests/auto/qsslsocket/qsslsocket.pro b/tests/auto/qsslsocket/qsslsocket.pro
index 3557fc8..accfa89 100644
--- a/tests/auto/qsslsocket/qsslsocket.pro
+++ b/tests/auto/qsslsocket/qsslsocket.pro
@@ -29,6 +29,7 @@ wince* {
certFiles.sources = certs ssl.tar.gz
certFiles.path = .
DEPLOYMENT += certFiles
+ INCLUDEPATH *= $$MW_LAYER_SYSTEMINCLUDE # Needed for e32svr.h in S^3 envs
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
diff --git a/tests/auto/qsvgrenderer/qsvgrenderer.pro b/tests/auto/qsvgrenderer/qsvgrenderer.pro
index 8cfbcce..0b785e3 100644
--- a/tests/auto/qsvgrenderer/qsvgrenderer.pro
+++ b/tests/auto/qsvgrenderer/qsvgrenderer.pro
@@ -13,6 +13,8 @@ wince*|symbian {
addFiles.path = .
DEPLOYMENT += addFiles
- DEPLOYMENT_PLUGIN += qsvg
+ wince*|qt_not_deployed {
+ DEPLOYMENT_PLUGIN += qsvg
+ }
}
diff --git a/tests/auto/qtextcodec/qtextcodec.pro b/tests/auto/qtextcodec/qtextcodec.pro
index 0bcf067..6cb13a9 100644
--- a/tests/auto/qtextcodec/qtextcodec.pro
+++ b/tests/auto/qtextcodec/qtextcodec.pro
@@ -1,4 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = test
-!wince*:SUBDIRS += echo
+!wince*:!symbian:SUBDIRS += echo
diff --git a/tests/auto/qtextcodec/test/test.pro b/tests/auto/qtextcodec/test/test.pro
index efa2e85..b85032a 100644
--- a/tests/auto/qtextcodec/test/test.pro
+++ b/tests/auto/qtextcodec/test/test.pro
@@ -20,7 +20,9 @@ wince*|symbian {
addFiles.sources = ../*.txt
addFiles.path = .
DEPLOYMENT += addFiles
- DEPLOYMENT_PLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ wince*|qt_not_deployed {
+ DEPLOYMENT_PLUGIN += qcncodecs qjpcodecs qkrcodecs qtwcodecs
+ }
}
wince*: {
diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp
index 0946c93..cc41591 100644
--- a/tests/auto/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp
@@ -1946,6 +1946,8 @@ void tst_QTextCodec::toLocal8Bit()
{
#ifdef QT_NO_PROCESS
QSKIP("This test requires QProcess", SkipAll);
+#elif defined(Q_OS_SYMBIAN)
+ QSKIP("This test requires streams support in QProcess", SkipAll);
#else
QProcess process;
process.start("echo/echo");
diff --git a/tests/auto/qtextstream/qtextstream.pro b/tests/auto/qtextstream/qtextstream.pro
index 8346d7f..a2dcc81 100644
--- a/tests/auto/qtextstream/qtextstream.pro
+++ b/tests/auto/qtextstream/qtextstream.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
-SUBDIRS = test stdinProcess readAllStdinProcess readLineStdinProcess
+SUBDIRS = test
+!symbian: SUBDIRS += stdinProcess readAllStdinProcess readLineStdinProcess