diff options
-rw-r--r-- | dist/changes-5.6.3 | 27 | ||||
-rw-r--r-- | src/androiddeployqt/main.cpp | 41 | ||||
-rw-r--r-- | src/designer/src/lib/shared/qdesigner_command.cpp | 1 | ||||
-rw-r--r-- | src/qdoc/tokenizer.cpp | 2 |
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"; |