summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrans Englich <frans.englich@nokia.com>2010-04-12 16:03:34 (GMT)
committerFrans Englich <frans.englich@nokia.com>2010-04-12 16:03:34 (GMT)
commit89cefe224e5d223c4fd6e0cd735f1e5230684251 (patch)
tree8d1f0ab9e227926da2a845e497afd7abe4d9b56c
parente0408d9aaa19c16fd78fd9a2bf9edd25abf8bb9e (diff)
parent4049dc98f1437cbbfdde5bd1ac16a7e69d65d254 (diff)
downloadQt-89cefe224e5d223c4fd6e0cd735f1e5230684251.zip
Qt-89cefe224e5d223c4fd6e0cd735f1e5230684251.tar.gz
Qt-89cefe224e5d223c4fd6e0cd735f1e5230684251.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/qt-s60-public into 4.6
-rw-r--r--mkspecs/common/symbian/symbian.conf2
-rw-r--r--qmake/generators/symbian/symmake.cpp163
-rw-r--r--qmake/generators/symbian/symmake.h9
-rw-r--r--src/corelib/codecs/qtextcodec.cpp39
-rw-r--r--src/corelib/codecs/qtextcodec.h5
-rw-r--r--src/gui/dialogs/qfiledialog.ui36
-rw-r--r--src/gui/text/qtextcontrol.cpp6
-rw-r--r--src/network/socket/qnativesocketengine_unix.cpp29
-rw-r--r--src/plugins/accessible/widgets/complexwidgets.cpp3
-rw-r--r--src/s60installs/qt.iby1
-rw-r--r--tests/auto/qfile/tst_qfile.cpp6
-rw-r--r--tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp3
-rw-r--r--tests/auto/qnetworkreply/tst_qnetworkreply.cpp2
-rw-r--r--tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp3
-rw-r--r--tests/auto/qsslsocket/tst_qsslsocket.cpp5
15 files changed, 177 insertions, 135 deletions
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index d66d227..ba31116 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -26,7 +26,7 @@ QMAKE_CFLAGS_RELEASE =
QMAKE_CFLAGS_DEBUG =
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
-
+MMP_OPTION_KEYWORDS = CW ARMCC GCCE
VERSION_FLAGS.ARMCC = ARMCC_4_0
QMAKE_CXX = g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index e1256d8..40ef934 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -79,12 +79,8 @@
#define MMP_TARGET "TARGET"
#define MMP_TARGETTYPE "TARGETTYPE"
#define MMP_SECUREID "SECUREID"
-#define MMP_OPTION_CW "OPTION CW"
-#define MMP_OPTION_ARMCC "OPTION ARMCC"
-#define MMP_OPTION_GCCE "OPTION GCCE"
-#define MMP_LINKEROPTION_CW "LINKEROPTION CW"
-#define MMP_LINKEROPTION_ARMCC "LINKEROPTION ARMCC"
-#define MMP_LINKEROPTION_GCCE "LINKEROPTION GCCE"
+#define MMP_OPTION "OPTION"
+#define MMP_LINKEROPTION "LINKEROPTION"
#define MMP_CAPABILITY "CAPABILITY"
#define MMP_EPOCALLOWDLLDATA "EPOCALLOWDLLDATA"
#define MMP_EPOCHEAPSIZE "EPOCHEAPSIZE"
@@ -95,6 +91,10 @@
#define MMP_START_RESOURCE "START RESOURCE"
#define MMP_END_RESOURCE "END"
+#define VAR_CXXFLAGS "QMAKE_CXXFLAGS"
+#define VAR_CFLAGS "QMAKE_CFLAGS"
+#define VAR_LFLAGS "QMAKE_LFLAGS"
+
#define SIS_TARGET "sis"
#define INSTALLER_SIS_TARGET "installer_sis"
#define ROM_STUB_SIS_TARGET "stub_sis"
@@ -800,9 +800,7 @@ void SymbianMakefileGenerator::initMmpVariables()
overridableMmpKeywords << QLatin1String(MMP_TARGETTYPE) << QLatin1String(MMP_EPOCHEAPSIZE);
restrictableMmpKeywords << QLatin1String(MMP_TARGET) << QLatin1String(MMP_SECUREID)
- << QLatin1String(MMP_OPTION_CW) << QLatin1String(MMP_OPTION_ARMCC)
- << QLatin1String(MMP_OPTION_GCCE) << QLatin1String(MMP_LINKEROPTION_CW)
- << QLatin1String(MMP_LINKEROPTION_ARMCC) << QLatin1String(MMP_LINKEROPTION_GCCE)
+ << QLatin1String(MMP_OPTION) << QLatin1String(MMP_LINKEROPTION)
<< QLatin1String(MMP_CAPABILITY) << QLatin1String(MMP_EPOCALLOWDLLDATA)
<< QLatin1String(MMP_EPOCSTACKSIZE) << QLatin1String(MMP_UID)
<< QLatin1String(MMP_VENDORID) << QLatin1String(MMP_VERSION);
@@ -1152,120 +1150,65 @@ void SymbianMakefileGenerator::writeMmpFileCapabilityPart(QTextStream& t)
t << endl << endl;
}
-void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
+void SymbianMakefileGenerator::writeMmpFileConditionalOptions(QTextStream& t,
+ const QString &optionType,
+ const QString &optionTag,
+ const QString &variableBase)
{
- QString cw, armcc, gcce;
- QString cwlink, armlink, gccelink;
-
- if (0 != project->values("QMAKE_CXXFLAGS.CW").size()) {
- cw.append(project->values("QMAKE_CXXFLAGS.CW").join(" "));
- cw.append(" ");
- }
-
- if (0 != project->values("QMAKE_CXXFLAGS.ARMCC").size()) {
- armcc.append(project->values("QMAKE_CXXFLAGS.ARMCC").join(" "));
- armcc.append(" ");
- }
-
- if (0 != project->values("QMAKE_CXXFLAGS.GCCE").size()) {
- gcce.append(project->values("QMAKE_CXXFLAGS.GCCE").join(" "));
- gcce.append(" ");
- }
-
- if (0 != project->values("QMAKE_CFLAGS.CW").size()) {
- cw.append(project->values("QMAKE_CFLAGS.CW").join(" "));
- cw.append(" ");
- }
-
- if (0 != project->values("QMAKE_CFLAGS.ARMCC").size()) {
- armcc.append(project->values("QMAKE_CFLAGS.ARMCC").join(" "));
- armcc.append(" ");
- }
-
- if (0 != project->values("QMAKE_CFLAGS.GCCE").size()) {
- gcce.append(project->values("QMAKE_CXXFLAGS.GCCE").join(" "));
- gcce.append(" ");
- }
-
- if (0 != project->values("QMAKE_CXXFLAGS").size()) {
- cw.append(project->values("QMAKE_CXXFLAGS").join(" "));
- cw.append(" ");
- armcc.append(project->values("QMAKE_CXXFLAGS").join(" "));
- armcc.append(" ");
- gcce.append(project->values("QMAKE_CXXFLAGS").join(" "));
- gcce.append(" ");
+ foreach(QString compilerVersion, project->values("VERSION_FLAGS." + optionTag)) {
+ QStringList currentValues = project->values(variableBase + "." + compilerVersion);
+ if (currentValues.size()) {
+ t << "#if defined(" << compilerVersion << ")" << endl;
+ t << optionType << " " << optionTag << " " << currentValues.join(" ") << endl;
+ t << "#endif" << endl;
+ }
}
+}
- if (0 != project->values("QMAKE_CFLAGS").size()) {
- cw.append(project->values("QMAKE_CFLAGS").join(" "));
- cw.append(" ");
- armcc.append(project->values("QMAKE_CFLAGS").join(" "));
- armcc.append(" ");
- gcce.append(project->values("QMAKE_CFLAGS").join(" "));
- gcce.append(" ");
- }
+void SymbianMakefileGenerator::writeMmpFileSimpleOption(QTextStream& t,
+ const QString &optionType,
+ const QString &optionTag,
+ const QString &options)
+{
+ QString trimmedOptions = options.trimmed();
+ if (!trimmedOptions.isEmpty())
+ t << optionType << " " << optionTag << " " << trimmedOptions << endl;
+}
- if (0 != project->values("QMAKE_LFLAGS.CW").size()) {
- cwlink.append(project->values("QMAKE_LFLAGS.CW").join(" "));
- cwlink.append(" ");
+void SymbianMakefileGenerator::appendMmpFileOptions(QString &options, const QStringList &list)
+{
+ if (list.size()) {
+ options.append(list.join(" "));
+ options.append(" ");
}
+}
- if (0 != project->values("QMAKE_LFLAGS.ARMCC").size()) {
- armlink.append(project->values("QMAKE_LFLAGS.ARMCC").join(" "));
- armlink.append(" ");
- }
+void SymbianMakefileGenerator::writeMmpFileCompilerOptionPart(QTextStream& t)
+{
+ QStringList keywords = project->values("MMP_OPTION_KEYWORDS");
+ QStringList commonCxxFlags = project->values(VAR_CXXFLAGS);
+ QStringList commonCFlags = project->values(VAR_CFLAGS);
+ QStringList commonLFlags = project->values(VAR_LFLAGS);
- if (0 != project->values("QMAKE_LFLAGS.GCCE").size()) {
- gccelink.append(project->values("QMAKE_LFLAGS.GCCE").join(" "));
- gccelink.append(" ");
- }
+ foreach(QString item, keywords) {
+ QString compilerOption;
+ QString linkerOption;
- if (0 != project->values("QMAKE_LFLAGS").size()) {
- cwlink.append(project->values("QMAKE_LFLAGS").join(" "));
- cwlink.append(" ");
- armlink.append(project->values("QMAKE_LFLAGS").join(" "));
- armlink.append(" ");
- gccelink.append(project->values("QMAKE_LFLAGS").join(" "));
- gccelink.append(" ");
- }
+ appendMmpFileOptions(compilerOption, project->values(VAR_CXXFLAGS "." + item));
+ appendMmpFileOptions(compilerOption, project->values(VAR_CFLAGS "." + item));
+ appendMmpFileOptions(compilerOption, commonCxxFlags);
+ appendMmpFileOptions(compilerOption, commonCFlags);
- if (!cw.isEmpty() && cw[cw.size()-1] == ' ')
- cw.chop(1);
- if (!armcc.isEmpty() && armcc[armcc.size()-1] == ' ')
- armcc.chop(1);
- if (!gcce.isEmpty() && gcce[gcce.size()-1] == ' ')
- gcce.chop(1);
- if (!cwlink.isEmpty() && cwlink[cwlink.size()-1] == ' ')
- cwlink.chop(1);
- if (!armlink.isEmpty() && armlink[armlink.size()-1] == ' ')
- armlink.chop(1);
- if (!gccelink.isEmpty() && gccelink[gccelink.size()-1] == ' ')
- gccelink.chop(1);
+ appendMmpFileOptions(linkerOption, project->values(VAR_LFLAGS "." + item));
+ appendMmpFileOptions(linkerOption, commonLFlags);
- if (!cw.isEmpty())
- t << MMP_OPTION_CW " " << cw << endl;
- if (!armcc.isEmpty())
- t << MMP_OPTION_ARMCC " " << armcc << endl;
+ writeMmpFileSimpleOption(t, MMP_OPTION, item, compilerOption);
+ writeMmpFileSimpleOption(t, MMP_LINKEROPTION, item, linkerOption);
- foreach(QString armccVersion, project->values("VERSION_FLAGS.ARMCC")) {
- QStringList currentValues = project->values("QMAKE_CXXFLAGS." + armccVersion);
- if (currentValues.size()) {
- t << "#if defined(" << armccVersion << ")" << endl;
- t << MMP_OPTION_ARMCC " " << currentValues.join(" ") << endl;
- t << "#endif" << endl;
- }
+ writeMmpFileConditionalOptions(t, MMP_OPTION, item, VAR_CXXFLAGS);
+ writeMmpFileConditionalOptions(t, MMP_LINKEROPTION, item, VAR_LFLAGS);
}
- if (!gcce.isEmpty())
- t << MMP_OPTION_GCCE " " << gcce << endl;
-
- if (!cwlink.isEmpty())
- t << MMP_LINKEROPTION_CW " " << cwlink << endl;
- if (!armlink.isEmpty())
- t << MMP_LINKEROPTION_ARMCC " " << armlink << endl;
- if (!gccelink.isEmpty())
- t << MMP_LINKEROPTION_GCCE " " << gccelink << endl;
-
t << endl;
}
diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h
index 9de852a..90c8549 100644
--- a/qmake/generators/symbian/symmake.h
+++ b/qmake/generators/symbian/symmake.h
@@ -124,6 +124,15 @@ protected:
void writeMmpFileIncludePart(QTextStream& t);
void writeMmpFileLibraryPart(QTextStream& t);
void writeMmpFileCapabilityPart(QTextStream& t);
+ void writeMmpFileConditionalOptions(QTextStream& t,
+ const QString &optionType,
+ const QString &optionTag,
+ const QString &variableBase);
+ void writeMmpFileSimpleOption(QTextStream& t,
+ const QString &optionType,
+ const QString &optionTag,
+ const QString &options);
+ void appendMmpFileOptions(QString &options, const QStringList &list);
void writeMmpFileCompilerOptionPart(QTextStream& t);
void writeMmpFileBinaryVersionPart(QTextStream& t);
void writeMmpFileRulesPart(QTextStream& t);
diff --git a/src/corelib/codecs/qtextcodec.cpp b/src/corelib/codecs/qtextcodec.cpp
index c0aa342..18538e3 100644
--- a/src/corelib/codecs/qtextcodec.cpp
+++ b/src/corelib/codecs/qtextcodec.cpp
@@ -103,6 +103,7 @@ Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader,
(QTextCodecFactoryInterface_iid, QLatin1String("/codecs")))
#endif
+
static char qtolower(register char c)
{ if (c >= 'A' && c <= 'Z') return c + 0x20; return c; }
static bool qisalnum(register char c)
@@ -217,6 +218,19 @@ QTextCodecCleanup::~QTextCodecCleanup()
Q_GLOBAL_STATIC(QTextCodecCleanup, createQTextCodecCleanup)
+bool QTextCodec::validCodecs()
+{
+#ifdef Q_OS_SYMBIAN
+ // If we don't have a trap handler, we're outside of the main() function,
+ // ie. in global constructors or destructors. Don't use codecs in this
+ // case as it would lead to crashes because we don't have a cleanup stack on Symbian
+ return (User::TrapHandler() != NULL);
+#else
+ return true;
+#endif
+}
+
+
#if defined(Q_OS_WIN32) || defined(Q_OS_WINCE)
class QWindowsLocalCodec: public QTextCodec
{
@@ -671,6 +685,14 @@ static void setup()
if (all)
return;
+#ifdef Q_OS_SYMBIAN
+ // If we don't have a trap handler, we're outside of the main() function,
+ // ie. in global constructors or destructors. Don't create codecs in this
+ // case as it would lead to crashes because of a missing cleanup stack on Symbian
+ if (User::TrapHandler() == NULL)
+ return;
+#endif
+
#ifdef Q_DEBUG_TEXTCODEC
if (destroying_is_ok)
qWarning("QTextCodec: Creating new codec during codec cleanup");
@@ -964,6 +986,9 @@ QTextCodec *QTextCodec::codecForName(const QByteArray &name)
#endif
setup();
+ if (!validCodecs())
+ return 0;
+
static QHash <QByteArray, QTextCodec *> cache;
if (clearCaches & 0x1) {
cache.clear();
@@ -1005,6 +1030,9 @@ QTextCodec* QTextCodec::codecForMib(int mib)
#endif
setup();
+ if (!validCodecs())
+ return 0;
+
static QHash <int, QTextCodec *> cache;
if (clearCaches & 0x2) {
cache.clear();
@@ -1052,6 +1080,10 @@ QList<QByteArray> QTextCodec::availableCodecs()
setup();
QList<QByteArray> codecs;
+
+ if (!validCodecs())
+ return codecs;
+
for (int i = 0; i < all->size(); ++i) {
codecs += all->at(i)->name();
codecs += all->at(i)->aliases();
@@ -1090,6 +1122,10 @@ QList<int> QTextCodec::availableMibs()
setup();
QList<int> codecs;
+
+ if (!validCodecs())
+ return codecs;
+
for (int i = 0; i < all->size(); ++i)
codecs += all->at(i)->mibEnum();
@@ -1140,6 +1176,9 @@ void QTextCodec::setCodecForLocale(QTextCodec *c)
QTextCodec* QTextCodec::codecForLocale()
{
+ if (!validCodecs())
+ return 0;
+
if (localeMapper)
return localeMapper;
diff --git a/src/corelib/codecs/qtextcodec.h b/src/corelib/codecs/qtextcodec.h
index 169fe82..e82f8a4 100644
--- a/src/corelib/codecs/qtextcodec.h
+++ b/src/corelib/codecs/qtextcodec.h
@@ -145,12 +145,13 @@ public:
private:
friend class QTextCodecCleanup;
static QTextCodec *cftr;
+ static bool validCodecs();
};
Q_DECLARE_OPERATORS_FOR_FLAGS(QTextCodec::ConversionFlags)
-inline QTextCodec* QTextCodec::codecForTr() { return cftr; }
+ inline QTextCodec* QTextCodec::codecForTr() { return validCodecs() ? cftr : 0; }
inline void QTextCodec::setCodecForTr(QTextCodec *c) { cftr = c; }
-inline QTextCodec* QTextCodec::codecForCStrings() { return QString::codecForCStrings; }
+inline QTextCodec* QTextCodec::codecForCStrings() { return validCodecs() ? QString::codecForCStrings : 0; }
inline void QTextCodec::setCodecForCStrings(QTextCodec *c) { QString::codecForCStrings = c; }
class Q_CORE_EXPORT QTextEncoder {
diff --git a/src/gui/dialogs/qfiledialog.ui b/src/gui/dialogs/qfiledialog.ui
index b52bd8a..1f35abb 100644
--- a/src/gui/dialogs/qfiledialog.ui
+++ b/src/gui/dialogs/qfiledialog.ui
@@ -83,6 +83,12 @@
<property name="toolTip" >
<string>Back</string>
</property>
+ <property name="accessibleName">
+ <string>Back</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Go back</string>
+ </property>
</widget>
</item>
<item>
@@ -90,6 +96,12 @@
<property name="toolTip" >
<string>Forward</string>
</property>
+ <property name="accessibleName">
+ <string>Forward</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Go forward</string>
+ </property>
</widget>
</item>
<item>
@@ -97,6 +109,12 @@
<property name="toolTip" >
<string>Parent Directory</string>
</property>
+ <property name="accessibleName">
+ <string>Parent Directory</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Go to the parent directory</string>
+ </property>
</widget>
</item>
<item>
@@ -104,6 +122,12 @@
<property name="toolTip" >
<string>Create New Folder</string>
</property>
+ <property name="accessibleName">
+ <string>Create New Folder</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Create a New Folder</string>
+ </property>
</widget>
</item>
<item>
@@ -111,6 +135,12 @@
<property name="toolTip" >
<string>List View</string>
</property>
+ <property name="accessibleName">
+ <string>List View</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Change to list view mode</string>
+ </property>
</widget>
</item>
<item>
@@ -118,6 +148,12 @@
<property name="toolTip" >
<string>Detail View</string>
</property>
+ <property name="accessibleName">
+ <string>Detail View</string>
+ </property>
+ <property name="accessibleDescription">
+ <string>Change to detail view mode</string>
+ </property>
</widget>
</item>
</layout>
diff --git a/src/gui/text/qtextcontrol.cpp b/src/gui/text/qtextcontrol.cpp
index aaaa3ca..2206e5e 100644
--- a/src/gui/text/qtextcontrol.cpp
+++ b/src/gui/text/qtextcontrol.cpp
@@ -1199,7 +1199,8 @@ void QTextControlPrivate::keyPressEvent(QKeyEvent *e)
blockFmt.setIndent(blockFmt.indent() - 1);
cursor.setBlockFormat(blockFmt);
} else {
- cursor.deletePreviousChar();
+ QTextCursor localCursor = cursor;
+ localCursor.deletePreviousChar();
}
goto accept;
}
@@ -1232,7 +1233,8 @@ void QTextControlPrivate::keyPressEvent(QKeyEvent *e)
}
#endif
else if (e == QKeySequence::Delete) {
- cursor.deleteChar();
+ QTextCursor localCursor = cursor;
+ localCursor.deleteChar();
}
else if (e == QKeySequence::DeleteEndOfWord) {
if (!cursor.hasSelection())
diff --git a/src/network/socket/qnativesocketengine_unix.cpp b/src/network/socket/qnativesocketengine_unix.cpp
index 9a2c349..354c944 100644
--- a/src/network/socket/qnativesocketengine_unix.cpp
+++ b/src/network/socket/qnativesocketengine_unix.cpp
@@ -601,10 +601,15 @@ bool QNativeSocketEnginePrivate::nativeHasPendingDatagrams() const
// Peek 0 bytes into the next message. The size of the message may
// well be 0, so we can't check recvfrom's return value.
ssize_t readBytes;
+#ifdef Q_OS_SYMBIAN
+ char c;
+ readBytes = ::recvfrom(socketDescriptor, &c, 1, MSG_PEEK, &storage.a, &storageSize);
+#else
do {
char c;
readBytes = ::recvfrom(socketDescriptor, &c, 1, MSG_PEEK, &storage.a, &storageSize);
} while (readBytes == -1 && errno == EINTR);
+#endif
// If there's no error, or if our buffer was too small, there must be a
// pending datagram.
@@ -661,11 +666,17 @@ qint64 QNativeSocketEnginePrivate::nativeReceiveDatagram(char *data, qint64 maxS
sz = sizeof(aa);
ssize_t recvFromResult = 0;
+#ifdef Q_OS_SYMBIAN
+ char c;
+ recvFromResult = ::recvfrom(socketDescriptor, maxSize ? data : &c, maxSize ? maxSize : 1,
+ 0, &aa.a, &sz);
+#else
do {
char c;
recvFromResult = ::recvfrom(socketDescriptor, maxSize ? data : &c, maxSize ? maxSize : 1,
0, &aa.a, &sz);
} while (recvFromResult == -1 && errno == EINTR);
+#endif
if (recvFromResult == -1) {
setError(QAbstractSocket::NetworkError, ReceiveDatagramErrorString);
@@ -832,17 +843,17 @@ qint64 QNativeSocketEnginePrivate::nativeWrite(const char *data, qint64 len)
// ignore the SIGPIPE signal
qt_ignore_sigpipe();
- // loop while ::write() returns -1 and errno == EINTR, in case
- // of an interrupting signal.
ssize_t writtenBytes;
- do {
#ifdef Q_OS_SYMBIAN
- writtenBytes = ::write(socketDescriptor, data, len);
+ // Symbian does not support signals natively and Open C returns EINTR when moving to offline
+ writtenBytes = ::write(socketDescriptor, data, len);
#else
+ // loop while ::write() returns -1 and errno == EINTR, in case
+ // of an interrupting signal.
+ do {
writtenBytes = qt_safe_write(socketDescriptor, data, len);
-#endif
- // writtenBytes = QT_WRITE(socketDescriptor, data, len); ### TODO S60: Should this line be removed or the one above it?
} while (writtenBytes < 0 && errno == EINTR);
+#endif
if (writtenBytes < 0) {
switch (errno) {
@@ -882,13 +893,13 @@ qint64 QNativeSocketEnginePrivate::nativeRead(char *data, qint64 maxSize)
}
ssize_t r = 0;
- do {
#ifdef Q_OS_SYMBIAN
- r = ::read(socketDescriptor, data, maxSize);
+ r = ::read(socketDescriptor, data, maxSize);
#else
+ do {
r = qt_safe_read(socketDescriptor, data, maxSize);
-#endif
} while (r == -1 && errno == EINTR);
+#endif
if (r < 0) {
r = -1;
diff --git a/src/plugins/accessible/widgets/complexwidgets.cpp b/src/plugins/accessible/widgets/complexwidgets.cpp
index b4ca8f2..8be1560 100644
--- a/src/plugins/accessible/widgets/complexwidgets.cpp
+++ b/src/plugins/accessible/widgets/complexwidgets.cpp
@@ -724,7 +724,8 @@ public:
if (start.isValid()) {
m_current = start;
} else if (m_view && m_view->model()) {
- m_current = view->model()->index(0, 0);
+ m_current = view->rootIndex().isValid() ?
+ view->rootIndex().child(0,0) : view->model()->index(0, 0);
}
}
diff --git a/src/s60installs/qt.iby b/src/s60installs/qt.iby
index ec019e2..595734d 100644
--- a/src/s60installs/qt.iby
+++ b/src/s60installs/qt.iby
@@ -19,7 +19,6 @@ file=ABI_DIR\BUILD_DIR\QtWebKit.dll SHARED_LIB_DIR\QtWebKit.dll
file=ABI_DIR\BUILD_DIR\phonon.dll SHARED_LIB_DIR\phonon.dll
file=ABI_DIR\BUILD_DIR\QtMultimedia.dll SHARED_LIB_DIR\QtMultimedia.dll
file=ABI_DIR\BUILD_DIR\QtXmlPatterns.dll SHARED_LIB_DIR\QtXmlPatterns.dll
-file=ABI_DIR\BUILD_DIR\QtDeclarative.dll SHARED_LIB_DIR\QtDeclarative.dll
// imageformats
file=ABI_DIR\BUILD_DIR\qgif.dll SHARED_LIB_DIR\qgif.dll
diff --git a/tests/auto/qfile/tst_qfile.cpp b/tests/auto/qfile/tst_qfile.cpp
index f407b12..10c10eb 100644
--- a/tests/auto/qfile/tst_qfile.cpp
+++ b/tests/auto/qfile/tst_qfile.cpp
@@ -480,7 +480,7 @@ void tst_QFile::open_data()
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
QTest::newRow("//./PhysicalDrive0") << QString("//./PhysicalDrive0") << int(QIODevice::ReadOnly)
<< (bool)TRUE << QFile::NoError;
- QTest::newRow("uncFile") << "//" + QtNetworkSettings::winServerName() + "/testsharewritable/test.pri" << int(QIODevice::ReadOnly)
+ QTest::newRow("uncFile") << "//" + QtNetworkSettings::winServerName() + "/testshare/test.pri" << int(QIODevice::ReadOnly)
<< true << QFile::NoError;
#endif
}
@@ -552,7 +552,7 @@ void tst_QFile::size_data()
QTest::newRow( "exist01" ) << QString(SRCDIR "testfile.txt") << (qint64)245;
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
// Only test UNC on Windows./
- QTest::newRow("unc") << "//" + QString(QtNetworkSettings::winServerName() + "/testsharewritable/test.pri") << (qint64)34;
+ QTest::newRow("unc") << "//" + QString(QtNetworkSettings::winServerName() + "/testshare/test.pri") << (qint64)34;
#endif
}
@@ -2473,7 +2473,7 @@ void tst_QFile::miscWithUncPathAsCurrentDir()
{
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
QString current = QDir::currentPath();
- QVERIFY(QDir::setCurrent("//" + QtNetworkSettings::winServerName() + "/testsharewritable"));
+ QVERIFY(QDir::setCurrent("//" + QtNetworkSettings::winServerName() + "/testshare"));
QFile file("test.pri");
QVERIFY(file.exists());
QCOMPARE(int(file.size()), 34);
diff --git a/tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp b/tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp
index ca12f2a..3a3ea79 100644
--- a/tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp
+++ b/tests/auto/qhttpsocketengine/tst_qhttpsocketengine.cpp
@@ -506,7 +506,8 @@ void tst_QHttpSocketEngine::tcpSocketNonBlockingTest()
// Connect
socket.connectToHost(QtNetworkSettings::serverName(), 143);
- QCOMPARE(socket.state(), QTcpSocket::HostLookupState);
+ QVERIFY(socket.state() == QTcpSocket::HostLookupState ||
+ socket.state() == QTcpSocket::ConnectingState);
QTestEventLoop::instance().enterLoop(30);
if (QTestEventLoop::instance().timeout()) {
diff --git a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
index 8813a80..890983e 100644
--- a/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
+++ b/tests/auto/qnetworkreply/tst_qnetworkreply.cpp
@@ -3278,7 +3278,7 @@ void tst_QNetworkReply::lastModifiedHeaderForFile()
void tst_QNetworkReply::lastModifiedHeaderForHttp()
{
// Tue, 22 May 2007 12:04:57 GMT according to webserver
- QUrl url = "http://" + QtNetworkSettings::serverName() + "/gif/fluke.gif";
+ QUrl url = "http://" + QtNetworkSettings::serverName() + "/qtest/fluke.gif";
QNetworkRequest request(url);
QNetworkReplyPtr reply = manager.head(request);
diff --git a/tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp b/tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp
index 0240a0e..a679765 100644
--- a/tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp
+++ b/tests/auto/qsocks5socketengine/tst_qsocks5socketengine.cpp
@@ -647,7 +647,8 @@ void tst_QSocks5SocketEngine::tcpSocketNonBlockingTest()
// Connect
socket.connectToHost(QtNetworkSettings::serverName(), 143);
- QCOMPARE(socket.state(), QTcpSocket::HostLookupState);
+ QVERIFY(socket.state() == QTcpSocket::HostLookupState ||
+ socket.state() == QTcpSocket::ConnectingState);
QTestEventLoop::instance().enterLoop(30);
if (QTestEventLoop::instance().timeout()) {
diff --git a/tests/auto/qsslsocket/tst_qsslsocket.cpp b/tests/auto/qsslsocket/tst_qsslsocket.cpp
index c141caf..5dd7c19 100644
--- a/tests/auto/qsslsocket/tst_qsslsocket.cpp
+++ b/tests/auto/qsslsocket/tst_qsslsocket.cpp
@@ -1271,7 +1271,7 @@ void tst_QSslSocket::setReadBufferSize_task_250027()
connect(socket, SIGNAL(readyRead()), &setReadBufferSize_task_250027_handler, SLOT(readyReadSlot()));
// provoke a response by sending a request
- socket->write("GET /gif/fluke.gif HTTP/1.0\n"); // this file is 27 KB
+ socket->write("GET /qtest/fluke.gif HTTP/1.0\n"); // this file is 27 KB
socket->write("Host: ");
socket->write(QtNetworkSettings::serverName().toLocal8Bit().constData());
socket->write("\n");
@@ -1520,7 +1520,6 @@ void tst_QSslSocket::verifyMode()
loop.exec();
QVERIFY(clientSocket.isEncrypted());
- qDebug() << server.socket->sslErrors();
QVERIFY(server.socket->sslErrors().isEmpty());
}
@@ -1736,7 +1735,7 @@ void tst_QSslSocket::readFromClosedSocket()
socket->waitForConnected();
socket->waitForEncrypted();
// provoke a response by sending a request
- socket->write("GET /gif/fluke.gif HTTP/1.1\n");
+ socket->write("GET /qtest/fluke.gif HTTP/1.1\n");
socket->write("Host: ");
socket->write(QtNetworkSettings::serverName().toLocal8Bit().constData());
socket->write("\n");