diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-13 22:18:43 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-05-13 22:19:10 +0200 |
commit | 3d4aeb791990f359e277efbfb0a1f1793945b55d (patch) | |
tree | e877b7b4ad76d554aa3dbe6131d03b98a7447c63 /src/corelib | |
parent | b861c43395b17d5df34f24853faa21b9824a53af (diff) | |
parent | c8de2a8b5f5d0b9b3bc1d8ed8d3027ac40b00ee3 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Conflicts:
src/gui/kernel/qguiapplication.cpp
Change-Id: Ibe75603dc8a51769db6550ea3f07bc8d19b0be85
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/io/qtemporarydir.cpp | 14 | ||||
-rw-r--r-- | src/corelib/io/qtextstream.cpp | 4 | ||||
-rw-r--r-- | src/corelib/kernel/kernel.pri | 10 | ||||
-rw-r--r-- | src/corelib/tools/qdatetime.cpp | 21 |
4 files changed, 32 insertions, 17 deletions
diff --git a/src/corelib/io/qtemporarydir.cpp b/src/corelib/io/qtemporarydir.cpp index 2c526847b4..1e615956d7 100644 --- a/src/corelib/io/qtemporarydir.cpp +++ b/src/corelib/io/qtemporarydir.cpp @@ -218,25 +218,25 @@ QTemporaryDir::QTemporaryDir() } /*! - Constructs a QTemporaryFile with a template name of \a templateName. + Constructs a QTemporaryDir with a template of \a templatePath. - If \a templateName is a relative path, the path will be relative to the + If \a templatePath is a relative path, the path will be relative to the current working directory. You can use QDir::tempPath() to construct \a - templateName if you want use the system's temporary directory. + templatePath if you want use the system's temporary directory. - If the \a templateName ends with XXXXXX it will be used as the dynamic portion + If the \a templatePath ends with XXXXXX it will be used as the dynamic portion of the directory name, otherwise it will be appended. Unlike QTemporaryFile, XXXXXX in the middle of the template string is not supported. \sa QDir::tempPath() */ -QTemporaryDir::QTemporaryDir(const QString &templateName) +QTemporaryDir::QTemporaryDir(const QString &templatePath) : d_ptr(new QTemporaryDirPrivate) { - if (templateName.isEmpty()) + if (templatePath.isEmpty()) d_ptr->create(defaultTemplateName()); else - d_ptr->create(templateName); + d_ptr->create(templatePath); } /*! diff --git a/src/corelib/io/qtextstream.cpp b/src/corelib/io/qtextstream.cpp index 163b087436..288a939ab2 100644 --- a/src/corelib/io/qtextstream.cpp +++ b/src/corelib/io/qtextstream.cpp @@ -569,7 +569,9 @@ void QTextStreamPrivate::flushWriteBuffer() #endif // convert from unicode to raw data - QByteArray data = codec->fromUnicode(writeBuffer.data(), writeBuffer.size(), &writeConverterState); + // codec might be null if we're already inside global destructors (QTestCodec::codecForLocale returned null) + QByteArray data = Q_LIKELY(codec) ? codec->fromUnicode(writeBuffer.data(), writeBuffer.size(), &writeConverterState) + : writeBuffer.toLatin1(); #else QByteArray data = writeBuffer.toLocal8Bit(); #endif diff --git a/src/corelib/kernel/kernel.pri b/src/corelib/kernel/kernel.pri index 1fec528b31..819c10e99f 100644 --- a/src/corelib/kernel/kernel.pri +++ b/src/corelib/kernel/kernel.pri @@ -164,11 +164,17 @@ vxworks { blackberry { SOURCES += \ - kernel/qeventdispatcher_blackberry.cpp \ + kernel/qeventdispatcher_blackberry.cpp + HEADERS += \ + kernel/qeventdispatcher_blackberry_p.h +} + +qqnx_pps { + LIBS_PRIVATE += -lpps + SOURCES += \ kernel/qppsattribute.cpp \ kernel/qppsobject.cpp HEADERS += \ - kernel/qeventdispatcher_blackberry_p.h \ kernel/qppsattribute_p.h \ kernel/qppsattributeprivate_p.h \ kernel/qppsobject_p.h \ diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index e38a5f569a..801876629c 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -253,7 +253,7 @@ static QString toOffsetString(Qt::DateFormat format, int offset) return result.arg(offset >= 0 ? QLatin1Char('+') : QLatin1Char('-')) .arg(qAbs(offset) / SECS_PER_HOUR, 2, 10, QLatin1Char('0')) - .arg((offset / 60) % 60, 2, 10, QLatin1Char('0')); + .arg((qAbs(offset) / 60) % 60, 2, 10, QLatin1Char('0')); } // Parse offset in [+-]HH[:]MM format @@ -265,17 +265,24 @@ static int fromOffsetString(const QString &offsetString, bool *valid) if (size < 2 || size > 6) return 0; + // sign will be +1 for a positive and -1 for a negative offset + int sign; + // First char must be + or - - const QChar sign = offsetString.at(0); - if (sign != QLatin1Char('+') && sign != QLatin1Char('-')) + const QChar signChar = offsetString.at(0); + if (signChar == QLatin1Char('+')) + sign = 1; + else if (signChar == QLatin1Char('-')) + sign = -1; + else return 0; // Split the hour and minute parts - QStringList parts = offsetString.split(QLatin1Char(':')); + QStringList parts = offsetString.mid(1).split(QLatin1Char(':')); if (parts.count() == 1) { // [+-]HHMM format - parts.append(parts.at(0).mid(3)); - parts[0] = parts.at(0).left(3); + parts.append(parts.at(0).mid(2)); + parts[0] = parts.at(0).left(2); } bool ok = false; @@ -288,7 +295,7 @@ static int fromOffsetString(const QString &offsetString, bool *valid) return 0; *valid = true; - return ((hour * 60) + minute) * 60; + return sign * ((hour * 60) + minute) * 60; } /***************************************************************************** |