summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-05-11 08:15:45 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-05-11 08:15:45 (GMT)
commit50ec9d8e4d646fa6609929867126f40253e1fea5 (patch)
tree22d7242aba4ca8ef92fb1a11e50d8fb2e063e63c
parentb4c589868f278aa9a58ab9afa727dbf0a9442e22 (diff)
parenta21d6927e58a72ac5123d2479cbcc06bd764dfa4 (diff)
downloadQt-50ec9d8e4d646fa6609929867126f40253e1fea5.zip
Qt-50ec9d8e4d646fa6609929867126f40253e1fea5.tar.gz
Qt-50ec9d8e4d646fa6609929867126f40253e1fea5.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: Remove test cases which cause stack overflow Fix compile errors Run autotests with minimal capabilities Documentation updates for Qt/Symbian on Linux development Allow EPOCROOT env var to be without trailing slash. Workaround for Symbian Open C bug in socket connect. Fix fetchedRoot test variable to work also in Symbian Add configure time checks for symbian environment Check for existance of sis file parameter to runonphone Fix thread synchronization issues in Symbian QFileSystemWatcher Disable compiling of the plugin when extra package not found Added missing UID3 for qsymbianbearer.dll. Enabled previously disabled Qt features. Fix includes so it compiles Use lowercase includes so it compiles in Linux too Fixed library dependency for Gnupoc. Removed the --export_all_vtbl from linking. Cleaned up the elf2e32 options a bit.
-rw-r--r--config.tests/symbian/simple/main.cpp6
-rw-r--r--config.tests/symbian/simple/simple.pro4
-rwxr-xr-xconfigure45
-rw-r--r--doc/src/getting-started/installation.qdoc18
-rw-r--r--mkspecs/common/symbian/symbian-makefile.conf8
-rw-r--r--mkspecs/features/qttest_p4.prf2
-rw-r--r--mkspecs/features/symbian/symbian_building.prf43
-rw-r--r--mkspecs/symbian/linux-armcc/qmake.conf6
-rw-r--r--mkspecs/symbian/linux-gcce/qmake.conf16
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian.cpp63
-rw-r--r--src/corelib/io/qfilesystemwatcher_symbian_p.h6
-rw-r--r--src/gui/dialogs/qfileinfogatherer.cpp15
-rw-r--r--src/gui/dialogs/qfileinfogatherer_p.h3
-rw-r--r--src/gui/styles/qs60style_s60.cpp14
-rw-r--r--src/gui/styles/styles.pri7
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp3
-rw-r--r--src/plugins/bearer/symbian/symbian.pro1
-rw-r--r--src/plugins/mediaservices/mediaservices.pro4
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h2
-rw-r--r--src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h3
-rw-r--r--src/s60installs/s60installs.pro7
-rw-r--r--tests/auto/languagechange/tst_languagechange.cpp4
-rw-r--r--tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro1
-rw-r--r--tests/auto/qabstractsocket/qabstractsocket.pro1
-rw-r--r--tests/auto/qdirmodel/tst_qdirmodel.cpp5
-rw-r--r--tests/auto/qfiledialog2/tst_qfiledialog2.cpp16
-rw-r--r--tests/auto/qftp/qftp.pro1
-rw-r--r--tests/auto/qhostaddress/qhostaddress.pro1
-rw-r--r--tests/auto/qhostinfo/qhostinfo.pro1
-rw-r--r--tests/auto/qhttp/qhttp.pro1
-rw-r--r--tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro2
-rw-r--r--tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro1
-rw-r--r--tests/auto/qhttpsocketengine/qhttpsocketengine.pro1
-rw-r--r--tests/auto/qiodevice/qiodevice.pro1
-rw-r--r--tests/auto/qlocalsocket/qlocalsocket.pro1
-rw-r--r--tests/auto/qnativesocketengine/qnativesocketengine.pro1
-rw-r--r--tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro1
-rw-r--r--tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro1
-rw-r--r--tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro2
-rw-r--r--tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro1
-rw-r--r--tests/auto/qnetworkcookie/qnetworkcookie.pro1
-rw-r--r--tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro1
-rw-r--r--tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro1
-rw-r--r--tests/auto/qnetworkinterface/qnetworkinterface.pro1
-rw-r--r--tests/auto/qnetworkproxy/qnetworkproxy.pro1
-rw-r--r--tests/auto/qnetworkreply/qnetworkreply.pro1
-rw-r--r--tests/auto/qnetworkrequest/qnetworkrequest.pro1
-rw-r--r--tests/auto/qnetworksession/qnetworksession.pro1
-rw-r--r--tests/auto/qsocketnotifier/qsocketnotifier.pro1
-rw-r--r--tests/auto/qsocks5socketengine/qsocks5socketengine.pro1
-rw-r--r--tests/auto/qsslcertificate/qsslcertificate.pro1
-rw-r--r--tests/auto/qsslcipher/qsslcipher.pro1
-rw-r--r--tests/auto/qsslerror/qsslerror.pro1
-rw-r--r--tests/auto/qsslkey/qsslkey.pro1
-rw-r--r--tests/auto/qsslsocket/qsslsocket.pro2
-rw-r--r--tests/auto/qtcpserver/qtcpserver.pro1
-rw-r--r--tests/auto/qtcpsocket/qtcpsocket.pro1
-rw-r--r--tests/auto/qudpsocket/qudpsocket.pro1
-rw-r--r--tests/auto/qurl/qurl.pro1
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp8
-rw-r--r--tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp5
-rw-r--r--tools/runonphone/main.cpp4
62 files changed, 239 insertions, 117 deletions
diff --git a/config.tests/symbian/simple/main.cpp b/config.tests/symbian/simple/main.cpp
new file mode 100644
index 0000000..41371da
--- /dev/null
+++ b/config.tests/symbian/simple/main.cpp
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int main(int, char **) {
+ printf("test\n");
+ return 0;
+}
diff --git a/config.tests/symbian/simple/simple.pro b/config.tests/symbian/simple/simple.pro
new file mode 100644
index 0000000..fa086c9
--- /dev/null
+++ b/config.tests/symbian/simple/simple.pro
@@ -0,0 +1,4 @@
+TEMPLATE = app
+QT =
+SOURCES += main.cpp
+
diff --git a/configure b/configure
index 6763969..a0ccf9a 100755
--- a/configure
+++ b/configure
@@ -607,7 +607,7 @@ mkdir -p "$outpath/config.tests"
rm -f "$outpath/config.tests/.qmake.cache"
cp "$QMAKE_VARS_FILE" "$outpath/config.tests/.qmake.cache"
-QMakeVar add styles "cde mac motif plastique cleanlooks windows"
+QMakeVar add styles "cde mac motif plastique cleanlooks windows s60"
QMakeVar add decorations "default windows styled"
QMakeVar add mouse-drivers "pc"
if [ "$UNAME_SYSTEM" = "Linux" ] ; then
@@ -780,7 +780,7 @@ L_FLAGS=
RPATH_FLAGS=
l_FLAGS=
QCONFIG_FLAGS=
-XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++"
+XPLATFORM= # This seems to be the QMAKESPEC, like "linux-g++" or "symbian/linux-gcce"
PLATFORM=$QMAKESPEC
QT_CROSS_COMPILE=no
OPT_CONFIRM_LICENSE=no
@@ -4057,7 +4057,7 @@ if [ "$PLATFORM_QWS" = "yes" -o "$PLATFORM_X11" = "yes" ]; then
EOF
fi
-if echo "$XPLATFORM" | grep symbian > /dev/null ; then
+case "$XPLATFORM" in *symbian*)
cat << EOF
Qt for Symbian only:
@@ -4069,7 +4069,8 @@ Qt for Symbian only:
-no-usedeffiles .... Disable the usage of DEF files.
* -usedeffiles ....... Enable the usage of DEF files.
EOF
-fi
+;;
+esac
[ "x$ERROR" = "xyes" ] && exit 1
exit 0
@@ -4697,6 +4698,40 @@ if [ "$CFG_ZLIB" = "auto" ]; then
fi
fi
+case "$XPLATFORM" in *symbian*)
+ if test -z "$EPOCROOT"; then
+ echo "Please export EPOCROOT. It should point to the sdk install dir"
+ exit 1
+ fi
+ if test ! -d "$EPOCROOT/epoc32"; then
+ echo "Could not find the 'epoc32' dir in your EPOCROOT."
+ exit 1
+ fi
+
+ # the main commands needed to compile;
+ (cd config.tests/symbian
+ mkdir -p rcomp
+ cd rcomp
+ rm -f rcomp_test.rsg
+ touch rcomp_test.rpp rcomp_test.rsc rcomp_test.rss
+ rcomp -u -m045,046,047 -s./rcomp_test.rpp -o./rcomp_test.rsc -h./rcomp_test.rsg -i./rcomp_test.rss 2>&1 > /dev/null
+ if test ! -f rcomp_test.rsg; then
+ echo "Finding a working rcomp in your PATH failed."
+ echo "Fatal error. Make sure you have the epoc tools working and in your PATH";
+ exit 1;
+ fi
+ )
+
+ # compile a simple main that uses printf
+ if ! "$symbiantests/compile.test" "$XQMAKESPEC" "$QMAKE_CONFIG" $OPT_VERBOSE "$relpath" "$outpath" config.tests/symbian/simple "simple" $L_FLAGS $I_FLAGS $l_FLAGS
+ then
+ echo "Testing your compiler failed. Could not compile a simple application."
+ echo "Fatal error; Rerun configure with -verbose to get more details."
+ exit 1;
+ fi
+ ;;
+esac
+
if [ "$CFG_S60" = "auto" ]; then
if echo "$XPLATFORM" | grep symbian > /dev/null; then
CFG_S60=yes
@@ -7494,7 +7529,7 @@ then
# We cannot use Linux's default export rules since they export everything.
QCONFIG_FLAGS="$QCONFIG_FLAGS QT_DLL"
# Disable non-working features.
- QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT QT_NO_QFUTURE QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_CURSOR QT_NO_SYSTEMTRAYICON"
+ QCONFIG_FLAGS="$QCONFIG_FLAGS QT_NO_CONCURRENT QT_NO_QFUTURE QT_NO_CRASHHANDLER QT_NO_PRINTER QT_NO_SYSTEMTRAYICON"
fi
if [ -n "$QCONFIG_FLAGS" ]; then
diff --git a/doc/src/getting-started/installation.qdoc b/doc/src/getting-started/installation.qdoc
index 3ea351e..36abc10 100644
--- a/doc/src/getting-started/installation.qdoc
+++ b/doc/src/getting-started/installation.qdoc
@@ -703,21 +703,19 @@ If you are using pre-built binaries, follow the instructions given in the
\ingroup qtsymbian
\brief How to install Qt on the Symbian platform using Linux.
-\note Qt for the Symbian platform has some requirements that are given in more detail
-in the \l{Qt for the Symbian platform Requirements} document. TODO list requirements like SDK here.
-
\note \bold {This document describes how to install and configure Qt for
the Symbian platform from scratch, using Linux as the build host.
-Qt does not come with a binary package for Linux yet, but if you want to avoid
-the full build of Qt and start developing applications right away, you can
-download drop-in binaries from here: TODO}
+Qt for Symbian binaries can be downloaded directly so development of
+applications using Qt for Symbian can start right away.}
\list 1
\o Setup the development environment
- TODO Make sure your Symbian development environment is correctly installed and
- patched as explained in the \l{Qt for the Symbian platform Requirements} document.
+ \note Qt for the Symbian platform has some requirements on the development
+ platform. The Symbian SDK for Linux as well as a cross compiler for the ARM
+ processor used on Symbian devices should be present on the development machine.
+ See {http://qt.gitorious.org/qt/pages/QtCreatorSymbianLinux} for more details.
\o Install Qt
@@ -770,7 +768,7 @@ download drop-in binaries from here: TODO}
The Qt libraries are built with "All -Tcb" capability, so that
they can support all types of applications. However, these
- capabilities are automatically lowered if you make a selfsigned
+ capabilities are automatically lowered if you make a self-signed
package.
\o Building a Qt package with a Symbian developer certificate
@@ -826,7 +824,7 @@ download drop-in binaries from here: TODO}
Note the identifier on the line where your Symbian device
appears. Then execute the following, using the first and
- second part of the identifier in place of \c XXXX,
+ second part of the identifier in place of \c XXX,
respectively.
\snippet doc/src/snippets/code/doc_src_installation.qdoc 44
diff --git a/mkspecs/common/symbian/symbian-makefile.conf b/mkspecs/common/symbian/symbian-makefile.conf
index 3801eff..2397c96 100644
--- a/mkspecs/common/symbian/symbian-makefile.conf
+++ b/mkspecs/common/symbian/symbian-makefile.conf
@@ -13,7 +13,13 @@ QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src
QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
-QMAKE_ELF2E32_FLAGS +=
+QMAKE_ELF2E32_FLAGS = --dlldata \
+ --heap=0x00020000,0x00800000 \
+ --stack=0x00014000 \
+ --fpu=softvfp \
+ --unfrozen \
+ --compressionmethod bytepair \
+ --unpaged
include(../../common/unix.conf)
diff --git a/mkspecs/features/qttest_p4.prf b/mkspecs/features/qttest_p4.prf
index e3faef1..d2011d0 100644
--- a/mkspecs/features/qttest_p4.prf
+++ b/mkspecs/features/qttest_p4.prf
@@ -6,7 +6,7 @@ qtAddLibrary(QtTest)
symbian:{
TARGET.EPOCHEAPSIZE = 0x100000 0x2000000
# DEFINES += QTEST_NO_SPECIALIZATIONS
- TARGET.CAPABILITY="ALL -TCB"
+ TARGET.CAPABILITY="None"
RSS_RULES ="group_name=\"QtTests\";"
}
diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf
index b0cc6f2..802adde 100644
--- a/mkspecs/features/symbian/symbian_building.prf
+++ b/mkspecs/features/symbian/symbian_building.prf
@@ -100,13 +100,19 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
# The comparison of dso files is to avoid extra building of modules that depend on this dso, in
# case it has not changed.
QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${TARGET}.dll $$symbianDestdir/$${TARGET}.sym \
- && elf2e32 --version=$$decVersion --sid=$$TARGET.SID --uid1=0x10000079 \
- --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 \
- --stack=0x00014000 --fpu=softvfp --targettype=DLL \
- --elfinput=$${symbianDestdir}/$${TARGET}.sym --output=$${symbianDestdir}/$${TARGET}.dll \
- --dso=$$symbianObjdir/$${TARGET}.dso --defoutput=$$symbianObjdir/$${TARGET}.def \
- --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \
- --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged $$capability \
+ && elf2e32 --version=$$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x10000079 \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=DLL \
+ --elfinput=$${symbianDestdir}/$${TARGET}.sym \
+ --output=$${symbianDestdir}/$${TARGET}.dll \
+ --dso=$$symbianObjdir/$${TARGET}.dso \
+ --defoutput=$$symbianObjdir/$${TARGET}.def \
+ --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].dll \
+ $$elf2e32_LIBPATH \
+ $$capability \
$$QMAKE_ELF2E32_FLAGS \
| tee elf2e32.log && test `grep -c 'Error:' elf2e32.log` = 0 && rm elf2e32.log \
&& if ! diff -q $${symbianObjdir}/$${TARGET}.dso $${symbianDestdir}/$${TARGET}.dso \
@@ -120,9 +126,10 @@ contains(TEMPLATE, lib):!contains(CONFIG, static):!contains(CONFIG, staticlib) {
QMAKE_CLEAN += $${symbianObjdir}/$${TARGET}.def
linux-armcc: {
- QMAKE_LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)
+ LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
+ LIBS += -ledllstub.lib -ledll.lib\\(uc_dll_.o\\)
} else :linux-gcce {
- QMAKE_LIBS += \
+ LIBS += \
-l:edll.lib \
-l:usrt2_2.lib \
-l:dfpaeabi.dso \
@@ -144,12 +151,17 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
}
# the tee and grep at the end work around the issue that elf2e32 doesn't return non-null on error
QMAKE_POST_LINK = $$QMAKE_MOVE $$symbianDestdir/$${TARGET} $$symbianDestdir/$${TARGET}.sym \
- && elf2e32 --version $$decVersion --sid=$$TARGET.SID --uid1=0x1000007a \
- --uid2=$$TARGET.UID2 --uid3=$$TARGET.UID3 --dlldata --heap=0x00020000,0x00800000 \
- --stack=0x00014000 --fpu=softvfp --targettype=EXE \
- --elfinput=$${symbianDestdir}/$${TARGET}.sym --output=$${symbianDestdir}/$${TARGET}.exe \
- --unfrozen --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \
- --compressionmethod bytepair $$elf2e32_LIBPATH --unpaged $$capability \
+ && elf2e32 --version $$decVersion \
+ --sid=$$TARGET.SID \
+ --uid1=0x1000007a \
+ --uid2=$$TARGET.UID2 \
+ --uid3=$$TARGET.UID3 \
+ --targettype=EXE \
+ --elfinput=$${symbianDestdir}/$${TARGET}.sym \
+ --output=$${symbianDestdir}/$${TARGET}.exe \
+ --linkas=$${TARGET}\\{$${hexVersion}\\}\\[$${intUid3}\\].exe \
+ $$elf2e32_LIBPATH \
+ $$capability \
$$QMAKE_ELF2E32_FLAGS \
| tee elf2e32.log && test `grep -c 'Error:' elf2e32.log` = 0 && rm elf2e32.log \
&& ln "$${symbianDestdir}/$${TARGET}.exe" "$${symbianDestdir}/$$TARGET" \
@@ -159,6 +171,7 @@ contains(TEMPLATE, app):!contains(QMAKE_LINK, "^@.*") {
QMAKE_CLEAN += $${symbianDestdir}/$${TARGET}
linux-armcc: {
+ QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
QMAKE_LIBS += -leexe.lib\\(uc_exe_.o\\)
contains(CONFIG, "qt"):contains(QT, "core") { #if linking with QtCore
QMAKE_LIBS += -lqtmain$${QT_LIBINFIX}.lib
diff --git a/mkspecs/symbian/linux-armcc/qmake.conf b/mkspecs/symbian/linux-armcc/qmake.conf
index 599e552..77fb1ea 100644
--- a/mkspecs/symbian/linux-armcc/qmake.conf
+++ b/mkspecs/symbian/linux-armcc/qmake.conf
@@ -6,8 +6,6 @@ include(../../common/symbian/symbian-makefile.conf)
include(../../common/armcc.conf)
-QMAKE_LIBS += usrt2_2.lib dfpaeabi.dso dfprvct2_2.dso drtaeabi.dso scppnwdl.dso drtrvct2_2.dso h_t__uf.l\\(switch8.o\\)
-
QMAKE_RVCT_LINKSTYLE = 1
# notice that the middle part of the following set of vars matches the TARGET content of the libs
@@ -33,8 +31,8 @@ QMAKE_QtWebKit_CXXFLAGS = --arm
# Move RW-section base address to start from 0xE00000 instead of the toolchain default 0x400000.
QMAKE_QtWebKit_LFLAGS = --rw-base 0xE00000
-QMAKE_CFLAGS += --dllimport_runtime --preinclude rvct2_2.h --diag_suppress 186,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --export_all_vtbl --no_vfe --apcs /inter $$QMAKE_CFLAGS.ARMCC
-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS --no_parse_templates $$QMAKE_CXXFLAGS.ARMCC
+QMAKE_CFLAGS += --dllimport_runtime --preinclude rvct2_2.h --diag_suppress 186,654,1300 --thumb --fpu softvfp --cpu 5T --enum_is_int -Ono_known_library --fpmode ieee_no_fenv --no_vfe --apcs /inter $$QMAKE_CFLAGS.ARMCC
+QMAKE_CXXFLAGS += $$QMAKE_CFLAGS $$QMAKE_CXXFLAGS.ARMCC
QMAKE_LFLAGS += --symver_soname --diag_suppress 6331,6780 --bpabi --reloc --datacompressor=off --split --dll --no_scanlib
QMAKE_LFLAGS_APP += --entry _E32Startup
QMAKE_LFLAGS_SHLIB += --entry _E32Dll
diff --git a/mkspecs/symbian/linux-gcce/qmake.conf b/mkspecs/symbian/linux-gcce/qmake.conf
index 57bb56a..faac2f1 100644
--- a/mkspecs/symbian/linux-gcce/qmake.conf
+++ b/mkspecs/symbian/linux-gcce/qmake.conf
@@ -83,13 +83,13 @@ for(line, QMAKE_GCC_SEARCH_DIRS) {
}
}
-QMAKE_LIBDIR += $${EPOCROOT}epoc32/release/armv5/lib
-
-INCLUDEPATH = ${EPOCROOT}epoc32/include/ \
- $${EPOCROOT}epoc32/include/variant \
- $${EPOCROOT}epoc32/include/stdapis \
- $${EPOCROOT}epoc32/include/gcce \
- ${EPOCROOT}epoc32/include/stdapis/sys \
- ${EPOCROOT}epoc32/include/stdapis/stlport \
+QMAKE_LIBDIR += $${EPOCROOT}/epoc32/release/armv5/lib
+
+INCLUDEPATH = ${EPOCROOT}/epoc32/include/ \
+ $${EPOCROOT}/epoc32/include/variant \
+ $${EPOCROOT}/epoc32/include/stdapis \
+ $${EPOCROOT}/epoc32/include/gcce \
+ ${EPOCROOT}/epoc32/include/stdapis/sys \
+ ${EPOCROOT}/epoc32/include/stdapis/stlport \
$$INCLUDEPATH
diff --git a/src/corelib/io/qfilesystemwatcher_symbian.cpp b/src/corelib/io/qfilesystemwatcher_symbian.cpp
index 69daae7..6136742 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian.cpp
+++ b/src/corelib/io/qfilesystemwatcher_symbian.cpp
@@ -106,7 +106,7 @@ void QNotifyChangeEvent::DoCancel()
}
QSymbianFileSystemWatcherEngine::QSymbianFileSystemWatcherEngine() :
- errorCode(KErrNone), watcherStarted(false)
+ watcherStarted(false)
{
moveToThread(this);
}
@@ -122,11 +122,7 @@ QStringList QSymbianFileSystemWatcherEngine::addPaths(const QStringList &paths,
QMutexLocker locker(&mutex);
QStringList p = paths;
- if (!startWatcher()) {
- qWarning("Could not start QSymbianFileSystemWatcherEngine thread");
-
- return p;
- }
+ startWatcher();
QMutableListIterator<QString> it(p);
while (it.hasNext()) {
@@ -150,18 +146,17 @@ QStringList QSymbianFileSystemWatcherEngine::addPaths(const QStringList &paths,
filePath += QChar(L'/');
}
- currentEvent = NULL;
+ currentAddEvent = NULL;
QMetaObject::invokeMethod(this,
"addNativeListener",
Qt::QueuedConnection,
Q_ARG(QString, filePath));
syncCondition.wait(&mutex);
+ if (currentAddEvent) {
+ currentAddEvent->isDir = isDir;
- if (currentEvent) {
- currentEvent->isDir = isDir;
-
- activeObjectToPath.insert(currentEvent, path);
+ activeObjectToPath.insert(currentAddEvent, path);
it.remove();
if (isDir)
@@ -185,10 +180,10 @@ QStringList QSymbianFileSystemWatcherEngine::removePaths(const QStringList &path
while (it.hasNext()) {
QString path = it.next();
- currentEvent = activeObjectToPath.key(path);
- if (!currentEvent)
+ currentRemoveEvent = activeObjectToPath.key(path);
+ if (!currentRemoveEvent)
continue;
- activeObjectToPath.remove(currentEvent);
+ activeObjectToPath.remove(currentRemoveEvent);
QMetaObject::invokeMethod(this,
"removeNativeListener",
@@ -202,9 +197,6 @@ QStringList QSymbianFileSystemWatcherEngine::removePaths(const QStringList &path
directories->removeAll(path);
}
- if (activeObjectToPath.size() == 0)
- stop();
-
return p;
}
@@ -228,44 +220,31 @@ void QSymbianFileSystemWatcherEngine::stop()
}
// This method must be called inside mutex
-bool QSymbianFileSystemWatcherEngine::startWatcher()
+void QSymbianFileSystemWatcherEngine::startWatcher()
{
- bool retval = true;
-
if (!watcherStarted) {
setStackSize(0x5000);
start();
syncCondition.wait(&mutex);
-
- if (errorCode != KErrNone) {
- retval = false;
- } else {
- watcherStarted = true;
- }
+ watcherStarted = true;
}
- return retval;
}
void QSymbianFileSystemWatcherEngine::run()
{
- // Initialize file session
-
mutex.lock();
syncCondition.wakeOne();
mutex.unlock();
- if (errorCode == KErrNone) {
- exec();
+ exec();
- foreach(QNotifyChangeEvent *e, activeObjectToPath.keys()) {
- e->Cancel();
- delete e;
- }
-
- activeObjectToPath.clear();
- watcherStarted = false;
+ foreach(QNotifyChangeEvent *e, activeObjectToPath.keys()) {
+ e->Cancel();
+ delete e;
}
+
+ activeObjectToPath.clear();
}
void QSymbianFileSystemWatcherEngine::addNativeListener(const QString &directoryPath)
@@ -273,16 +252,16 @@ void QSymbianFileSystemWatcherEngine::addNativeListener(const QString &directory
QMutexLocker locker(&mutex);
QString nativeDir(QDir::toNativeSeparators(directoryPath));
TPtrC ptr(qt_QString2TPtrC(nativeDir));
- currentEvent = new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'), Qt::CaseSensitive));
+ currentAddEvent = new QNotifyChangeEvent(qt_s60GetRFs(), ptr, this, directoryPath.endsWith(QChar(L'/'), Qt::CaseSensitive));
syncCondition.wakeOne();
}
void QSymbianFileSystemWatcherEngine::removeNativeListener()
{
QMutexLocker locker(&mutex);
- currentEvent->Cancel();
- delete currentEvent;
- currentEvent = NULL;
+ currentRemoveEvent->Cancel();
+ delete currentRemoveEvent;
+ currentRemoveEvent = NULL;
syncCondition.wakeOne();
}
diff --git a/src/corelib/io/qfilesystemwatcher_symbian_p.h b/src/corelib/io/qfilesystemwatcher_symbian_p.h
index 7e3f045..e687a4a 100644
--- a/src/corelib/io/qfilesystemwatcher_symbian_p.h
+++ b/src/corelib/io/qfilesystemwatcher_symbian_p.h
@@ -113,14 +113,14 @@ private:
friend class QNotifyChangeEvent;
void emitPathChanged(QNotifyChangeEvent *e);
- bool startWatcher();
+ void startWatcher();
QHash<QNotifyChangeEvent*, QString> activeObjectToPath;
QMutex mutex;
QWaitCondition syncCondition;
- int errorCode;
bool watcherStarted;
- QNotifyChangeEvent *currentEvent;
+ QNotifyChangeEvent *currentAddEvent;
+ QNotifyChangeEvent *currentRemoveEvent;
};
#endif // QT_NO_FILESYSTEMWATCHER
diff --git a/src/gui/dialogs/qfileinfogatherer.cpp b/src/gui/dialogs/qfileinfogatherer.cpp
index 3b279ae..af0506f 100644
--- a/src/gui/dialogs/qfileinfogatherer.cpp
+++ b/src/gui/dialogs/qfileinfogatherer.cpp
@@ -55,7 +55,18 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_FILESYSTEMMODEL
-bool QFileInfoGatherer::fetchedRoot = false;
+#ifdef QT_BUILD_INTERNAL
+static bool fetchedRoot = false;
+Q_AUTOTEST_EXPORT void qt_test_resetFetchedRoot()
+{
+ fetchedRoot = false;
+}
+
+Q_AUTOTEST_EXPORT bool qt_test_isFetchedRoot()
+{
+ return fetchedRoot;
+}
+#endif
/*!
Creates thread
@@ -278,7 +289,7 @@ void QFileInfoGatherer::getFileInfos(const QString &path, const QStringList &fil
// List drives
if (path.isEmpty()) {
-#if defined Q_AUTOTEST_EXPORT
+#ifdef QT_BUILD_INTERNAL
fetchedRoot = true;
#endif
QFileInfoList infoList;
diff --git a/src/gui/dialogs/qfileinfogatherer_p.h b/src/gui/dialogs/qfileinfogatherer_p.h
index 5abcd94..8681eb5 100644
--- a/src/gui/dialogs/qfileinfogatherer_p.h
+++ b/src/gui/dialogs/qfileinfogatherer_p.h
@@ -195,9 +195,6 @@ private:
uint userId;
uint groupId;
#endif
-public :
- //for testing purpose
- static bool fetchedRoot;
};
#endif // QT_NO_FILESYSTEMMODEL
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp
index 55aa6b0..46de9ef 100644
--- a/src/gui/styles/qs60style_s60.cpp
+++ b/src/gui/styles/qs60style_s60.cpp
@@ -50,17 +50,17 @@
#include "qapplication.h"
#include <w32std.h>
-#include <AknsConstants.h>
+#include <aknsconstants.h>
#include <aknconsts.h>
-#include <AknsItemID.h>
-#include <AknsUtils.h>
-#include <AknsDrawUtils.h>
-#include <AknsSkinInstance.h>
-#include <AknsBasicBackgroundControlContext.h>
+#include <aknsitemid.h>
+#include <aknsutils.h>
+#include <aknsdrawutils.h>
+#include <aknsskininstance.h>
+#include <aknsbasicbackgroundcontrolcontext.h>
#include <avkon.mbg>
#include <aknfontaccess.h>
#include <aknlayoutfont.h>
-#include <AknUtils.h>
+#include <aknutils.h>
#include <aknnavi.h>
#include <gulicon.h>
#include <aknbitmapanimation.h>
diff --git a/src/gui/styles/styles.pri b/src/gui/styles/styles.pri
index 5084442..f920032 100644
--- a/src/gui/styles/styles.pri
+++ b/src/gui/styles/styles.pri
@@ -170,7 +170,12 @@ contains( styles, s60 ):contains(QT_CONFIG, s60) {
SOURCES += styles/qs60style.cpp
symbian {
SOURCES += styles/qs60style_s60.cpp
- LIBS += -lAknIcon -lAKNSKINS -lAKNSKINSRV -lFontUtils -legul -lbmpanim
+ LIBS += -legul -lbmpanim
+ contains(CONFIG, is_using_gnupoc) {
+ LIBS += -laknicon -laknskins -laknskinsrv -lfontutils
+ } else {
+ LIBS += -lAknIcon -lAKNSKINS -lAKNSKINSRV -lFontUtils
+ }
} else {
SOURCES += styles/qs60style_simulated.cpp
RESOURCES += styles/qstyle_s60_simulated.qrc
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index d155357..70bb0da 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -425,6 +425,9 @@ bool QNativeSocketEnginePrivate::nativeConnect(const QHostAddress &addr, quint16
case EBADF:
case EFAULT:
case ENOTSOCK:
+#ifdef Q_OS_SYMBIAN
+ case EPIPE:
+#endif
socketState = QAbstractSocket::UnconnectedState;
default:
break;
diff --git a/src/plugins/bearer/symbian/symbian.pro b/src/plugins/bearer/symbian/symbian.pro
index f915570..4f1e51c 100644
--- a/src/plugins/bearer/symbian/symbian.pro
+++ b/src/plugins/bearer/symbian/symbian.pro
@@ -11,6 +11,7 @@ SOURCES += symbianengine.cpp \
main.cpp
symbian {
+ TARGET.UID3=0x20021319
exists($${EPOCROOT}epoc32/release/winscw/udeb/cmmanager.lib)| \
exists($${EPOCROOT}epoc32/release/armv5/lib/cmmanager.lib) {
message("Building with SNAP support")
diff --git a/src/plugins/mediaservices/mediaservices.pro b/src/plugins/mediaservices/mediaservices.pro
index 27f05bc..0f0b021 100644
--- a/src/plugins/mediaservices/mediaservices.pro
+++ b/src/plugins/mediaservices/mediaservices.pro
@@ -9,5 +9,7 @@ contains(QT_CONFIG, media-backend) {
SUBDIRS += gstreamer
}
- symbian:SUBDIRS += symbian
+ symbian:contains(QT_CONFIG, audio-routing-available) {
+ SUBDIRS += symbian
+ }
}
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h b/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h
index d7259b9..f25b722 100644
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h
+++ b/src/plugins/mediaservices/symbian/mediaplayer/s60audioplayersession.h
@@ -49,7 +49,7 @@ typedef CMdaAudioPlayerUtility CAudioPlayer;
typedef MMdaAudioPlayerCallback MAudioPlayerObserver;
#ifndef HAS_NO_AUDIOROUTING
-#include <AudioOutput.h>
+#include <phonon/audiooutput.h>
#include <MAudioOutputObserver.h>
#endif
diff --git a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h b/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h
index 52e311a..9aece61 100644
--- a/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h
+++ b/src/plugins/mediaservices/symbian/mediaplayer/s60videoplayersession.h
@@ -48,8 +48,7 @@
#include <QtGui/qwidget.h>
#include <qvideowidget.h>
-#include <AudioOutput.h>
-#include <MAudioOutputObserver.h>
+#include <phonon/audiooutput.h>
QT_BEGIN_NAMESPACE
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index dfd2694..97b2232 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -158,11 +158,12 @@ symbian: {
contains(QT_CONFIG, media-backend) {
qtlibraries.sources += $$QMAKE_LIBDIR_QT/QtMediaServices$${QT_LIBINFIX}.dll
- mediaservices_plugins.path = c:$$QT_PLUGINS_BASE_DIR/mediaservices
- mediaservices_plugins.sources += $$QT_BUILD_TREE/plugins/mediaservices/qmmfengine$${QT_LIBINFIX}.dll
+ contains(QT_CONFIG, audio-routing-available) {
+ mediaservices_plugins.path = c:$$QT_PLUGINS_BASE_DIR/mediaservices
+ mediaservices_plugins.sources += $$QT_BUILD_TREE/plugins/mediaservices/qmmfengine$${QT_LIBINFIX}.dll
+ }
DEPLOYMENT += mediaservices_plugins
-
}
BLD_INF_RULES.prj_exports += "qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)"
diff --git a/tests/auto/languagechange/tst_languagechange.cpp b/tests/auto/languagechange/tst_languagechange.cpp
index d04707e..bcc3be4 100644
--- a/tests/auto/languagechange/tst_languagechange.cpp
+++ b/tests/auto/languagechange/tst_languagechange.cpp
@@ -238,8 +238,8 @@ void tst_languageChange::retranslatability()
QString fooName = tmpParentDir + "/foo";
QDir dir;
QCOMPARE(dir.mkpath(tmpDir), true);
-#if defined(Q_OS_SYMBIAN) && defined(Q_CC_NOKIAX86)
- // Just create a new file instead of copying exe, because exe is not there in emulator
+#if defined(Q_OS_SYMBIAN)
+ // Just create a new file instead of copying exe, because there is no read access to /sys/bin
{
QFile fooFile(fooName);
QVERIFY(fooFile.open(QIODevice::WriteOnly | QIODevice::Text));
diff --git a/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro b/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
index a57c56f..2e2577d 100644
--- a/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
+++ b/tests/auto/qabstractnetworkcache/qabstractnetworkcache.pro
@@ -9,3 +9,4 @@ wince*|symbian: {
DEPLOYMENT += testFiles
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qabstractsocket/qabstractsocket.pro b/tests/auto/qabstractsocket/qabstractsocket.pro
index 59999af..814a7d2 100644
--- a/tests/auto/qabstractsocket/qabstractsocket.pro
+++ b/tests/auto/qabstractsocket/qabstractsocket.pro
@@ -7,4 +7,5 @@ QT = core network
SOURCES += tst_qabstractsocket.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qdirmodel/tst_qdirmodel.cpp b/tests/auto/qdirmodel/tst_qdirmodel.cpp
index 1bc5b7f..41bbd87 100644
--- a/tests/auto/qdirmodel/tst_qdirmodel.cpp
+++ b/tests/auto/qdirmodel/tst_qdirmodel.cpp
@@ -613,6 +613,11 @@ void tst_QDirModel::task196768_sorting()
//this task showed that the persistent model indexes got corrupted when sorting
QString path = SRCDIR;
+#ifdef Q_OS_SYMBIAN
+ if(!RProcess().HasCapability(ECapabilityAllFiles))
+ QEXPECT_FAIL("", "QTBUG-9746", Continue);
+#endif
+
QDirModel model;
/* QDirModel has a bug if we show the content of the subdirectory inside a hidden directory
diff --git a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
index 6bfa8be..eee495f 100644
--- a/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
+++ b/tests/auto/qfiledialog2/tst_qfiledialog2.cpp
@@ -76,6 +76,13 @@
# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
#endif
+#if defined QT_BUILD_INTERNAL
+QT_BEGIN_NAMESPACE
+Q_GUI_EXPORT bool qt_test_isFetchedRoot();
+Q_GUI_EXPORT void qt_test_resetFetchedRoot();
+QT_END_NAMESPACE
+#endif
+
class QNonNativeFileDialog : public QFileDialog
{
Q_OBJECT
@@ -139,7 +146,7 @@ private:
};
tst_QFileDialog2::tst_QFileDialog2()
-{
+{
#if defined(Q_OS_WINCE)
qApp->setAutoMaximizeThreshold(-1);
#endif
@@ -177,19 +184,18 @@ void tst_QFileDialog2::listRoot()
QFileInfoGatherer fileInfoGatherer;
fileInfoGatherer.start();
QTest::qWait(1500);
-
- QFileInfoGatherer::fetchedRoot = false;
+ qt_test_resetFetchedRoot();
QString dir(QDir::currentPath());
QNonNativeFileDialog fd(0, QString(), dir);
fd.show();
- QCOMPARE(QFileInfoGatherer::fetchedRoot,false);
+ QCOMPARE(qt_test_isFetchedRoot(),false);
fd.setDirectory("");
#ifdef Q_OS_WINCE
QTest::qWait(1500);
#else
QTest::qWait(500);
#endif
- QCOMPARE(QFileInfoGatherer::fetchedRoot,true);
+ QCOMPARE(qt_test_isFetchedRoot(),true);
#endif
}
diff --git a/tests/auto/qftp/qftp.pro b/tests/auto/qftp/qftp.pro
index c060296..33d479a 100644
--- a/tests/auto/qftp/qftp.pro
+++ b/tests/auto/qftp/qftp.pro
@@ -14,6 +14,7 @@ wince*: {
addFiles.path = .
DEPLOYMENT += addFiles
TARGET.EPOCHEAPSIZE="0x100 0x1000000"
+ TARGET.CAPABILITY = NetworkServices
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
diff --git a/tests/auto/qhostaddress/qhostaddress.pro b/tests/auto/qhostaddress/qhostaddress.pro
index b208214..7bcbfb0 100644
--- a/tests/auto/qhostaddress/qhostaddress.pro
+++ b/tests/auto/qhostaddress/qhostaddress.pro
@@ -12,3 +12,4 @@ wince*: {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhostinfo/qhostinfo.pro b/tests/auto/qhostinfo/qhostinfo.pro
index 9bfe576..06a4b17 100644
--- a/tests/auto/qhostinfo/qhostinfo.pro
+++ b/tests/auto/qhostinfo/qhostinfo.pro
@@ -10,4 +10,5 @@ wince*: {
win32:LIBS += -lws2_32
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhttp/qhttp.pro b/tests/auto/qhttp/qhttp.pro
index 8678a19..23a73c4 100644
--- a/tests/auto/qhttp/qhttp.pro
+++ b/tests/auto/qhttp/qhttp.pro
@@ -21,6 +21,7 @@ wince*: {
addFiles.sources = rfc3252.txt trolltech
addFiles.path = .
DEPLOYMENT = addFiles webFiles cgi
+ TARGET.CAPABILITY = NetworkServices
} else:vxworks*: {
DEFINES += SRCDIR=\\\"\\\"
} else {
diff --git a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
index 0021bc1..d9e2dce 100644
--- a/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
+++ b/tests/auto/qhttpnetworkconnection/qhttpnetworkconnection.pro
@@ -4,3 +4,5 @@ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib
requires(contains(QT_CONFIG,private_tests))
QT = core network
+
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
index 1782b43..36d56c6 100644
--- a/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
+++ b/tests/auto/qhttpnetworkreply/qhttpnetworkreply.pro
@@ -4,3 +4,4 @@ INCLUDEPATH += $$QT_SOURCE_TREE/src/3rdparty/zlib
requires(contains(QT_CONFIG,private_tests))
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qhttpsocketengine/qhttpsocketengine.pro b/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
index f6ad073..d76ebb6 100644
--- a/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
+++ b/tests/auto/qhttpsocketengine/qhttpsocketengine.pro
@@ -8,5 +8,6 @@ MOC_DIR=tmp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qiodevice/qiodevice.pro b/tests/auto/qiodevice/qiodevice.pro
index e695bf6..716cdce 100644
--- a/tests/auto/qiodevice/qiodevice.pro
+++ b/tests/auto/qiodevice/qiodevice.pro
@@ -14,6 +14,7 @@ wince*: {
addFiles.sources = tst_qiodevice.cpp
addFiles.path = .
DEPLOYMENT += addFiles
+ TARGET.CAPABILITY = NetworkServices
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
contains(QT_CONFIG, qt3support):QT += qt3support
diff --git a/tests/auto/qlocalsocket/qlocalsocket.pro b/tests/auto/qlocalsocket/qlocalsocket.pro
index 0849453..287e946 100644
--- a/tests/auto/qlocalsocket/qlocalsocket.pro
+++ b/tests/auto/qlocalsocket/qlocalsocket.pro
@@ -1,3 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = lackey test
!wince*:!symbian*: SUBDIRS += example
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnativesocketengine/qnativesocketengine.pro b/tests/auto/qnativesocketengine/qnativesocketengine.pro
index ad40d53..0275d37 100644
--- a/tests/auto/qnativesocketengine/qnativesocketengine.pro
+++ b/tests/auto/qnativesocketengine/qnativesocketengine.pro
@@ -9,4 +9,5 @@ MOC_DIR=tmp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
index e2889c1..3ccbffb 100644
--- a/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
+++ b/tests/auto/qnetworkaccessmanager/qnetworkaccessmanager.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaccessmanager.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro b/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
index 7ed5b07..378deba 100644
--- a/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
+++ b/tests/auto/qnetworkaccessmanager_and_qprogressdialog/qnetworkaccessmanager_and_qprogressdialog.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaccessmanager_and_qprogressdialog.cpp
QT += network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro b/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
index 8feb95f..885dbf7 100644
--- a/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
+++ b/tests/auto/qnetworkaddressentry/qnetworkaddressentry.pro
@@ -2,3 +2,5 @@ load(qttest_p4)
SOURCES += tst_qnetworkaddressentry.cpp
QT = core network
+
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro b/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
index b24fe00..77ad347 100644
--- a/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
+++ b/tests/auto/qnetworkcachemetadata/qnetworkcachemetadata.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
QT += network
SOURCES += tst_qnetworkcachemetadata.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkcookie/qnetworkcookie.pro b/tests/auto/qnetworkcookie/qnetworkcookie.pro
index 95d8b6e..2f31138 100644
--- a/tests/auto/qnetworkcookie/qnetworkcookie.pro
+++ b/tests/auto/qnetworkcookie/qnetworkcookie.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkcookie.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro b/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
index 3a8e61b..6d75fab 100644
--- a/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
+++ b/tests/auto/qnetworkcookiejar/qnetworkcookiejar.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkcookiejar.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro b/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
index f47d6d7..3b13087 100644
--- a/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
+++ b/tests/auto/qnetworkdiskcache/qnetworkdiskcache.pro
@@ -2,4 +2,5 @@ load(qttest_p4)
QT += network
SOURCES += tst_qnetworkdiskcache.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkinterface/qnetworkinterface.pro b/tests/auto/qnetworkinterface/qnetworkinterface.pro
index 26095e9..1c5feee 100644
--- a/tests/auto/qnetworkinterface/qnetworkinterface.pro
+++ b/tests/auto/qnetworkinterface/qnetworkinterface.pro
@@ -3,4 +3,5 @@ SOURCES += tst_qnetworkinterface.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkproxy/qnetworkproxy.pro b/tests/auto/qnetworkproxy/qnetworkproxy.pro
index 8ffc80c..fc0a216 100644
--- a/tests/auto/qnetworkproxy/qnetworkproxy.pro
+++ b/tests/auto/qnetworkproxy/qnetworkproxy.pro
@@ -7,4 +7,5 @@ QT = core network
SOURCES += tst_qnetworkproxy.cpp
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkreply/qnetworkreply.pro b/tests/auto/qnetworkreply/qnetworkreply.pro
index fd8454c..86d3155 100644
--- a/tests/auto/qnetworkreply/qnetworkreply.pro
+++ b/tests/auto/qnetworkreply/qnetworkreply.pro
@@ -4,3 +4,4 @@ SUBDIRS = test
requires(contains(QT_CONFIG,private_tests))
!wince*:SUBDIRS += echo
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworkrequest/qnetworkrequest.pro b/tests/auto/qnetworkrequest/qnetworkrequest.pro
index f576ba2..f96fd3b 100644
--- a/tests/auto/qnetworkrequest/qnetworkrequest.pro
+++ b/tests/auto/qnetworkrequest/qnetworkrequest.pro
@@ -2,3 +2,4 @@ load(qttest_p4)
SOURCES += tst_qnetworkrequest.cpp
QT = core network
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qnetworksession/qnetworksession.pro b/tests/auto/qnetworksession/qnetworksession.pro
index a85925b..34761e5 100644
--- a/tests/auto/qnetworksession/qnetworksession.pro
+++ b/tests/auto/qnetworksession/qnetworksession.pro
@@ -1,2 +1,3 @@
TEMPLATE = subdirs
SUBDIRS = lackey test
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsocketnotifier/qsocketnotifier.pro b/tests/auto/qsocketnotifier/qsocketnotifier.pro
index ec924c1..c43c96a 100644
--- a/tests/auto/qsocketnotifier/qsocketnotifier.pro
+++ b/tests/auto/qsocketnotifier/qsocketnotifier.pro
@@ -6,5 +6,6 @@ requires(contains(QT_CONFIG,private_tests))
include(../qnativesocketengine/qsocketengine.pri)
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
index 4a32852..cd5e6e7 100644
--- a/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
+++ b/tests/auto/qsocks5socketengine/qsocks5socketengine.pro
@@ -11,6 +11,7 @@ QT = core network
# Symbian toolchain does not support correct include semantics
symbian:INCPATH+=..\..\..\include\QtNetwork\private
+symbian: TARGET.CAPABILITY = NetworkServices
requires(contains(QT_CONFIG,private_tests))
diff --git a/tests/auto/qsslcertificate/qsslcertificate.pro b/tests/auto/qsslcertificate/qsslcertificate.pro
index b237f2e..d7671ea 100644
--- a/tests/auto/qsslcertificate/qsslcertificate.pro
+++ b/tests/auto/qsslcertificate/qsslcertificate.pro
@@ -24,4 +24,5 @@ wince*: {
DEFINES += SRCDIR=\\\".\\\"
} else:!symbian {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
+ TARGET.CAPABILITY = NetworkServices
}
diff --git a/tests/auto/qsslcipher/qsslcipher.pro b/tests/auto/qsslcipher/qsslcipher.pro
index 6eae588..78fd387 100644
--- a/tests/auto/qsslcipher/qsslcipher.pro
+++ b/tests/auto/qsslcipher/qsslcipher.pro
@@ -14,4 +14,5 @@ win32 {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsslerror/qsslerror.pro b/tests/auto/qsslerror/qsslerror.pro
index ee5872b..5b907fb 100644
--- a/tests/auto/qsslerror/qsslerror.pro
+++ b/tests/auto/qsslerror/qsslerror.pro
@@ -14,4 +14,5 @@ win32 {
}
}
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qsslkey/qsslkey.pro b/tests/auto/qsslkey/qsslkey.pro
index 32138f8..e3eeef9 100644
--- a/tests/auto/qsslkey/qsslkey.pro
+++ b/tests/auto/qsslkey/qsslkey.pro
@@ -24,4 +24,5 @@ wince*: {
DEFINES += SRCDIR=\\\".\\\"
} else:!symbian {
DEFINES+= SRCDIR=\\\"$$PWD\\\"
+ TARGET.CAPABILITY = NetworkServices
}
diff --git a/tests/auto/qsslsocket/qsslsocket.pro b/tests/auto/qsslsocket/qsslsocket.pro
index 541b2d9..3557fc8 100644
--- a/tests/auto/qsslsocket/qsslsocket.pro
+++ b/tests/auto/qsslsocket/qsslsocket.pro
@@ -24,7 +24,7 @@ wince* {
} else:symbian {
DEFINES += QSSLSOCKET_CERTUNTRUSTED_WORKAROUND
TARGET.EPOCHEAPSIZE="0x100 0x1000000"
- TARGET.CAPABILITY="ALL -TCB"
+ TARGET.CAPABILITY=NetworkServices
certFiles.sources = certs ssl.tar.gz
certFiles.path = .
diff --git a/tests/auto/qtcpserver/qtcpserver.pro b/tests/auto/qtcpserver/qtcpserver.pro
index fe5ea37..a3744a2 100644
--- a/tests/auto/qtcpserver/qtcpserver.pro
+++ b/tests/auto/qtcpserver/qtcpserver.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = test crashingServer
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qtcpsocket/qtcpsocket.pro b/tests/auto/qtcpsocket/qtcpsocket.pro
index 3d4eba3..370a695 100644
--- a/tests/auto/qtcpsocket/qtcpsocket.pro
+++ b/tests/auto/qtcpsocket/qtcpsocket.pro
@@ -6,3 +6,4 @@ wince*|symbian*|vxworks* : SUBDIRS = test
requires(contains(QT_CONFIG,private_tests))
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qudpsocket/qudpsocket.pro b/tests/auto/qudpsocket/qudpsocket.pro
index 4ef8a40..8fd3545 100644
--- a/tests/auto/qudpsocket/qudpsocket.pro
+++ b/tests/auto/qudpsocket/qudpsocket.pro
@@ -1,5 +1,6 @@
TEMPLATE = subdirs
SUBDIRS = test clientserver
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qurl/qurl.pro b/tests/auto/qurl/qurl.pro
index 72c93bc..018bb38 100644
--- a/tests/auto/qurl/qurl.pro
+++ b/tests/auto/qurl/qurl.pro
@@ -1,3 +1,4 @@
load(qttest_p4)
SOURCES += tst_qurl.cpp
QT = core
+symbian: TARGET.CAPABILITY = NetworkServices
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 76e20b9..5d47aed 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -9514,6 +9514,8 @@ void tst_QWidget::destroyBackingStore()
w.update();
QApplication::processEvents();
QCOMPARE(w.numPaintEvents, 2);
+#else
+ QSKIP("Test case relies on developer build (AUTOTEST_EXPORT)", SkipAll);
#endif
}
@@ -9992,6 +9994,7 @@ void tst_QWidget::focusProxyAndInputMethods()
delete toplevel;
}
+#ifdef QT_BUILD_INTERNAL
class scrollWidgetWBS : public QWidget
{
public:
@@ -10011,9 +10014,11 @@ public:
}
}
};
+#endif
void tst_QWidget::scrollWithoutBackingStore()
{
+#ifdef QT_BUILD_INTERNAL
scrollWidgetWBS scrollable;
scrollable.resize(100,100);
QLabel child(QString("@"),&scrollable);
@@ -10027,6 +10032,9 @@ void tst_QWidget::scrollWithoutBackingStore()
QCOMPARE(child.pos(),QPoint(25,25));
scrollable.enableBackingStore();
QCOMPARE(child.pos(),QPoint(25,25));
+#else
+ QSKIP("Test case relies on developer build (AUTOTEST_EXPORT)", SkipAll);
+#endif
}
void tst_QWidget::taskQTBUG_7532_tabOrderWithFocusProxy()
diff --git a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
index 8c30be4..7015bd1 100644
--- a/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
+++ b/tests/benchmarks/gui/kernel/qwidget/tst_qwidget.cpp
@@ -159,12 +159,17 @@ void tst_QWidget::update_data()
QTest::newRow("10x10x1 opaque") << 10 << 10 << 1 << true;
QTest::newRow("10x10x10 opaque") << 10 << 10 << 10 << true;
QTest::newRow("10x10x100 opaque") << 10 << 10 << 100 << true;
+#ifndef Q_OS_SYMBIAN
+ //These test cases cause stack overflow in QWidgetPrivate::paintSiblingsRecursive
+ //see http://bugreports.qt.nokia.com/browse/QTBUG-8512
+ //Symbian threads have a hard limit of 80kB user stack
QTest::newRow("25x25x1 transparent ") << 25 << 25 << 1 << false;
QTest::newRow("25x25x10 transparent") << 25 << 25 << 10 << false;
QTest::newRow("25x25x100 transparent") << 25 << 25 << 100 << false;
QTest::newRow("25x25x1 opaque") << 25 << 25 << 1 << true;
QTest::newRow("25x25x10 opaque") << 25 << 25 << 10 << true;
QTest::newRow("25x25x100 opaque") << 25 << 25 << 100 << true;
+#endif
}
void tst_QWidget::update()
diff --git a/tools/runonphone/main.cpp b/tools/runonphone/main.cpp
index 37e4548..885d029 100644
--- a/tools/runonphone/main.cpp
+++ b/tools/runonphone/main.cpp
@@ -102,6 +102,10 @@ int main(int argc, char *argv[])
else if (arg == "--sis" || arg == "-s") {
CHECK_PARAMETER_EXISTS
sisFile = it.next();
+ if (!QFileInfo(sisFile).exists()) {
+ errstream << "Sis file (" << sisFile << ") doesn't exist" << endl;
+ return 1;
+ }
}
else if (arg == "--download" || arg == "-d") {
CHECK_PARAMETER_EXISTS