summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2017-09-04 12:47:04 +0200
committerLiang Qi <liang.qi@qt.io>2017-09-04 12:47:04 +0200
commit1ace238ce0347857a5ba55d6fa30ba81fed204b9 (patch)
treec841b0ff52a306b6b0421d084b3fdbb206badf6b
parent066affc7c709c8a124a4c031ca2bb5ad3f91e6ff (diff)
parent5c50201d616eeefe61b960a8b21d3adbae8c26a0 (diff)
Merge remote-tracking branch 'origin/5.9' into 5.10v5.10.0-alpha1
-rw-r--r--dist/changes-5.6.327
-rw-r--r--src/androiddeployqt/main.cpp41
-rw-r--r--src/designer/src/lib/shared/qdesigner_command.cpp1
-rw-r--r--src/qdoc/tokenizer.cpp2
4 files changed, 61 insertions, 10 deletions
diff --git a/dist/changes-5.6.3 b/dist/changes-5.6.3
new file mode 100644
index 000000000..c4694b0ac
--- /dev/null
+++ b/dist/changes-5.6.3
@@ -0,0 +1,27 @@
+Qt 5.6.3 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.6.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+ http://doc.qt.io/qt-5/index.html
+
+The Qt version 5.6 series is binary compatible with the 5.5.x series.
+Applications compiled for 5.5 will continue to run with 5.6.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+ https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Library *
+****************************************************************************
+
+lupdate
+-------
+
+ - [QTBUG-53206] Added qrc resource file support
diff --git a/src/androiddeployqt/main.cpp b/src/androiddeployqt/main.cpp
index 51b514f51..918bc0f6c 100644
--- a/src/androiddeployqt/main.cpp
+++ b/src/androiddeployqt/main.cpp
@@ -152,6 +152,10 @@ struct Options
QString rootPath;
QStringList qmlImportPaths;
+ // lib c++ path
+ QString stdCppPath;
+ QString stdCppName = QStringLiteral("gnustl_shared");
+
// Build information
QString androidPlatform;
QString architecture;
@@ -868,6 +872,19 @@ bool readInputFile(Options *options)
}
{
+ const QJsonValue stdcppPath = jsonObject.value(QStringLiteral("stdcpp-path"));
+ if (!stdcppPath.isUndefined()) {
+ options->stdCppPath = stdcppPath.toString();
+ auto name = QFileInfo(options->stdCppPath).baseName();
+ if (!name.startsWith(QLatin1String("lib"))) {
+ fprintf(stderr, "Invalid STD C++ library name.\n");
+ return false;
+ }
+ options->stdCppName = name.mid(3);
+ }
+ }
+
+ {
const QJsonValue qmlRootPath = jsonObject.value(QStringLiteral("qml-root-path"));
if (!qmlRootPath.isUndefined())
options->rootPath = qmlRootPath.toString();
@@ -1133,7 +1150,7 @@ bool updateLibsXml(const Options &options)
QString libsPath = QLatin1String("libs/") + options.architecture + QLatin1Char('/');
- QString qtLibs = QLatin1String("<item>gnustl_shared</item>\n");
+ QString qtLibs = QLatin1String("<item>") + options.stdCppName + QLatin1String("</item>\n");
QString bundledInLibs;
QString bundledInAssets;
for (const Options::BundledFile &bundledFile : options.bundledFiles) {
@@ -2517,22 +2534,23 @@ bool installApk(const Options &options)
return true;
}
-bool copyGnuStl(Options *options)
+bool copyStdCpp(Options *options)
{
if (options->deploymentMechanism == Options::Debug && !options->installApk)
return true;
if (options->verbose)
- fprintf(stdout, "Copying GNU STL library\n");
+ fprintf(stdout, "Copying STL library\n");
- QString filePath = options->ndkPath
+ QString filePath = !options->stdCppPath.isEmpty() ? options->stdCppPath
+ : options->ndkPath
+ QLatin1String("/sources/cxx-stl/gnu-libstdc++/")
+ options->toolchainVersion
+ QLatin1String("/libs/")
+ options->architecture
+ QLatin1String("/libgnustl_shared.so");
if (!QFile::exists(filePath)) {
- fprintf(stderr, "GNU STL library does not exist at %s\n", qPrintable(filePath));
+ fprintf(stderr, "STL library does not exist at %s\n", qPrintable(filePath));
return false;
}
@@ -2541,13 +2559,18 @@ bool copyGnuStl(Options *options)
? options->temporaryDirectoryName + QLatin1String("/lib")
: options->outputDirectory + QLatin1String("/libs/") + options->architecture;
- if (!copyFileIfNewer(filePath, destinationDirectory
- + QLatin1String("/libgnustl_shared.so"), options->verbose)) {
+ if (!copyFileIfNewer(filePath, destinationDirectory + QLatin1String("/lib")
+ + options->stdCppName + QLatin1String(".so"),
+ options->verbose)) {
return false;
}
- if (options->deploymentMechanism == Options::Debug && !deployToLocalTmp(options, QLatin1String("/lib/libgnustl_shared.so")))
+ if (options->deploymentMechanism == Options::Debug
+ && !deployToLocalTmp(options, QLatin1String("/lib/lib")
+ + options->stdCppName
+ + QLatin1String(".so"))) {
return false;
+ }
return true;
}
@@ -2982,7 +3005,7 @@ int main(int argc, char *argv[])
if (Q_UNLIKELY(options.timing))
fprintf(stdout, "[TIMING] %d ms: Read dependencies\n", options.timer.elapsed());
- if (options.deploymentMechanism != Options::Ministro && !copyGnuStl(&options))
+ if (options.deploymentMechanism != Options::Ministro && !copyStdCpp(&options))
return CannotCopyGnuStl;
if (Q_UNLIKELY(options.timing))
diff --git a/src/designer/src/lib/shared/qdesigner_command.cpp b/src/designer/src/lib/shared/qdesigner_command.cpp
index c83bc91ac..90dd00bf2 100644
--- a/src/designer/src/lib/shared/qdesigner_command.cpp
+++ b/src/designer/src/lib/shared/qdesigner_command.cpp
@@ -610,6 +610,7 @@ void ReparentWidgetCommand::undo()
m_oldParentWidget->setProperty("_q_zOrder", QVariant::fromValue(m_oldParentZOrder));
QWidgetList newZOrder = qvariant_cast<QWidgetList>(m_newParentWidget->property("_q_zOrder"));
+ newZOrder.removeAll(m_widget);
m_newParentWidget->setProperty("_q_zOrder", QVariant::fromValue(newZOrder));
m_widget->show();
diff --git a/src/qdoc/tokenizer.cpp b/src/qdoc/tokenizer.cpp
index 3a1003b83..5f4f7cb80 100644
--- a/src/qdoc/tokenizer.cpp
+++ b/src/qdoc/tokenizer.cpp
@@ -501,7 +501,7 @@ void Tokenizer::initialize(const Config &config)
if (!versionSym.isEmpty())
versionX->setPattern("[ \t]*(?:" + QRegExp::escape(versionSym)
+ ")[ \t]+\"([^\"]*)\"[ \t]*");
- definedX = new QRegExp("defined ?\\(?([A-Z_0-9a-z]+) ?\\)");
+ definedX = new QRegExp("defined ?\\(?([A-Z_0-9a-z]+) ?\\)?");
QStringList d = config.getStringList(CONFIG_DEFINES);
d += "qdoc";