summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-09 12:15:14 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-09-09 12:15:14 +0200
commitff440191de244307c968b251faee4122267d3094 (patch)
tree404244208e4a65cc60d576cb751768b48e36f7ff
parenta2a0ff8676bce46ed1ae7c387cbcd2f5377a0e01 (diff)
parent277af20762813ff92ea47a69b4d18563e01cc18e (diff)
downloadqttools-ff440191de244307c968b251faee4122267d3094.tar.gz
Merge remote-tracking branch 'origin/5.11.2' into 5.11
Change-Id: I3fe629d8a2493504e8cfea56c590db4fc92e3d56
-rw-r--r--dist/changes-5.11.224
-rw-r--r--mkspecs/features/qt_find_clang.prf16
-rw-r--r--src/designer/src/components/propertyeditor/designerpropertymanager.cpp1
-rw-r--r--src/linguist/shared/qmakebuiltins.cpp17
-rw-r--r--src/qdoc/codemarker.cpp2
-rw-r--r--src/qdoc/doc/qdoc-guide/qdoc-guide.qdoc26
-rw-r--r--src/qdoc/generator.cpp3
-rw-r--r--src/qdoc/node.cpp3
8 files changed, 76 insertions, 16 deletions
diff --git a/dist/changes-5.11.2 b/dist/changes-5.11.2
new file mode 100644
index 000000000..8efdf5ea9
--- /dev/null
+++ b/dist/changes-5.11.2
@@ -0,0 +1,24 @@
+Qt 5.11.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.11.0 through 5.11.1.
+
+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.11 series is binary compatible with the 5.10.x series.
+Applications compiled for 5.10 will continue to run with 5.11.
+
+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.
+
+****************************************************************************
+* Qt 5.11.2 Changes *
+****************************************************************************
+
+ - This release contains only minor code improvements.
diff --git a/mkspecs/features/qt_find_clang.prf b/mkspecs/features/qt_find_clang.prf
index d584d136e..1c2fa4ffa 100644
--- a/mkspecs/features/qt_find_clang.prf
+++ b/mkspecs/features/qt_find_clang.prf
@@ -43,8 +43,18 @@ isEmpty(QDOC_USE_STATIC_LIBCLANG): QDOC_USE_STATIC_LIBCLANG = $$(QDOC_USE_STATIC
cache(QDOC_USE_STATIC_LIBCLANG)
for(_, $$list(_)) { # just a way to break easily
- mingw:isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MINGW)
- msvc:isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MSVC)
+ equals(QMAKE_HOST.os, Windows) {
+ # on Windows we have only two host compilers, MSVC or mingw. The former we never
+ # use for cross-compilation where it isn't also the target compiler. The latter
+ # is not detectable as this .prf file is evaluated against the target configuration
+ # and therefore checking for "mingw" won't work when the target compiler is clang (Android)
+ # or qcc (QNX).
+ msvc {
+ isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MSVC)
+ } else {
+ isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR_MINGW)
+ }
+ }
isEmpty(LLVM_INSTALL_DIR): LLVM_INSTALL_DIR = $$(LLVM_INSTALL_DIR)
LLVM_INSTALL_DIR = $$clean_path($$LLVM_INSTALL_DIR)
contains(QMAKE_HOST.arch, x86_64): \
@@ -292,7 +302,7 @@ for(_, $$list(_)) { # just a way to break easily
-lLLVMXRay
!equals(QMAKE_HOST.os, Darwin): CLANG_LIBS+=-Wl,--end-group
CLANG_LIBS += -lz
- mingw: CLANG_LIBS += -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion
+ equals(QMAKE_HOST.os, Windows): CLANG_LIBS += -lpsapi -lshell32 -lole32 -luuid -ladvapi32 -lversion
else: CLANG_LIBS += -ldl
equals(QMAKE_HOST.os, Darwin): CLANG_LIBS += -lcurses -lm -lxml2
}
diff --git a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp
index 8edd361da..28104439d 100644
--- a/src/designer/src/components/propertyeditor/designerpropertymanager.cpp
+++ b/src/designer/src/components/propertyeditor/designerpropertymanager.cpp
@@ -897,6 +897,7 @@ DesignerPropertyManager::DesignerPropertyManager(QDesignerFormEditorInterface *c
QtVariantPropertyManager(parent),
m_changingSubValue(false),
m_core(core),
+ m_object(nullptr),
m_sourceOfChange(0)
{
connect(this, &QtVariantPropertyManager::valueChanged,
diff --git a/src/linguist/shared/qmakebuiltins.cpp b/src/linguist/shared/qmakebuiltins.cpp
index dde02544d..107c5446a 100644
--- a/src/linguist/shared/qmakebuiltins.cpp
+++ b/src/linguist/shared/qmakebuiltins.cpp
@@ -51,6 +51,7 @@
#ifdef PROEVALUATOR_THREAD_SAFE
# include <qthreadpool.h>
#endif
+#include <qversionnumber.h>
#include <algorithm>
@@ -98,6 +99,7 @@ enum ExpandFunc {
enum TestFunc {
T_INVALID = 0, T_REQUIRES, T_GREATERTHAN, T_LESSTHAN, T_EQUALS,
+ T_VERSION_AT_LEAST, T_VERSION_AT_MOST,
T_EXISTS, T_EXPORT, T_CLEAR, T_UNSET, T_EVAL, T_CONFIG, T_SYSTEM,
T_DEFINED, T_DISCARD_FROM, T_CONTAINS, T_INFILE,
T_COUNT, T_ISEMPTY, T_PARSE_JSON, T_INCLUDE, T_LOAD, T_DEBUG, T_LOG, T_MESSAGE, T_WARNING, T_ERROR, T_IF,
@@ -171,6 +173,8 @@ void QMakeEvaluator::initFunctionStatics()
{ "lessThan", T_LESSTHAN },
{ "equals", T_EQUALS },
{ "isEqual", T_EQUALS },
+ { "versionAtLeast", T_VERSION_AT_LEAST },
+ { "versionAtMost", T_VERSION_AT_MOST },
{ "exists", T_EXISTS },
{ "export", T_EXPORT },
{ "clear", T_CLEAR },
@@ -1498,6 +1502,19 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::evaluateBuiltinConditional(
}
return returnBool(values(map(args.at(0))).join(statics.field_sep)
== args.at(1).toQString(m_tmp1));
+ case T_VERSION_AT_LEAST:
+ case T_VERSION_AT_MOST: {
+ if (args.count() != 2) {
+ evalError(fL1S("%1(variable, versionNumber) requires two arguments.")
+ .arg(function.toQString(m_tmp1)));
+ return ReturnFalse;
+ }
+ const QVersionNumber lvn = QVersionNumber::fromString(values(args.at(0).toKey()).join(QLatin1Char('.')));
+ const QVersionNumber rvn = QVersionNumber::fromString(args.at(1).toQString());
+ if (func_t == T_VERSION_AT_LEAST)
+ return returnBool(lvn >= rvn);
+ return returnBool(lvn <= rvn);
+ }
case T_CLEAR: {
if (args.count() != 1) {
evalError(fL1S("%1(variable) requires one argument.")
diff --git a/src/qdoc/codemarker.cpp b/src/qdoc/codemarker.cpp
index 44d05053e..ae94780de 100644
--- a/src/qdoc/codemarker.cpp
+++ b/src/qdoc/codemarker.cpp
@@ -414,7 +414,7 @@ void CodeMarker::insert(FastSection &fastSection,
}
}
- if (node->access() == Node::Private) {
+ if (node->access() == Node::Private || node->isInternal()) {
irrelevant = true;
}
else if (node->type() == Node::Function) {
diff --git a/src/qdoc/doc/qdoc-guide/qdoc-guide.qdoc b/src/qdoc/doc/qdoc-guide/qdoc-guide.qdoc
index 3ebd0c8de..71c8c81f3 100644
--- a/src/qdoc/doc/qdoc-guide/qdoc-guide.qdoc
+++ b/src/qdoc/doc/qdoc-guide/qdoc-guide.qdoc
@@ -27,7 +27,7 @@
/*!
\page qdoc-guide.html
\title Getting Started with QDoc
- \nextpage Installing clang for QDoc
+ \nextpage Installing Clang for QDoc
Qt uses QDoc to generate its documentation set into HTML and DITA XML
formats. QDoc uses a set of configuration files to generate documentation
@@ -44,9 +44,9 @@
\li \c Documentation in \c C++, \c QML, and \c .qdoc files
\endlist
- \note From Qt 5.11, \l{QDoc Manual}{QDoc} requires \l{http://clang.llvm.org}{clang}
- from LLVM 3.9 for parsing C++ header and source files, and for parsing the function
- signatures in \l {fn-command} {\\fn} commands. See \l {Installing clang for QDoc}
+ \note From Qt 5.11, \l{QDoc Manual}{QDoc} requires \l{http://clang.llvm.org}{Clang}
+ for parsing C++ header and source files, and for parsing the function
+ signatures in \l {fn-command} {\\fn} commands. See \l {Installing Clang for QDoc}
for details.
This section intends to cover the basic necessities for creating a
@@ -60,7 +60,7 @@
\section1 Chapters
\list 1
- \li \l{Installing clang for QDoc}
+ \li \l{Installing Clang for QDoc}
\li \l{Creating QDoc Configuration Files}
\li \l{Writing Documentation}
\li \l{Categories of Documentation}
@@ -76,7 +76,7 @@
/*!
\page qdoc-guide-conf.html
\title Creating QDoc Configuration Files
- \previouspage Installing clang for QDoc
+ \previouspage Installing Clang for QDoc
\nextpage Writing Documentation
To generate documentation, QDoc uses configuration files, with the
\c qdocconf extension, to store configuration settings.
@@ -628,7 +628,7 @@
/*!
\page qdoc-guide-clang.html
- \title Installing clang for QDoc
+ \title Installing Clang for QDoc
\previouspage Getting Started with QDoc
\nextpage Creating QDoc Configuration Files
@@ -636,15 +636,21 @@
apply:
\list 1
- \li Install \l{http://clang.llvm.org}{LLVM 3.9} or greater.
+ \li Install \l{http://clang.llvm.org}{LLVM 6.0} or greater.
The pre-built binaries needed can be found
\l {http://releases.llvm.org/download.html}{here}.
\li Set the environment variable \c LLVM_INSTALL_DIR to point to the
directory where LLVM is installed. This should be the top level
- directory. For example, on a Linux system with LLVM installed to
- \c /usr/llvm:
+ directory. For example, on a Linux or macOS system with LLVM
+ installed to \c /usr/llvm:
\badcode
$ export LLVM_INSTALL_DIR=/usr/llvm
\endcode
+
+ On a Windows system with LLVM installed to \c
+ {C:\Program Files\LLVM}:
+ \badcode
+ C:\> setx LLVM_INSTALL_DIR "C:\Program Files\LLVM"
+ \endcode
\endlist
*/
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp
index b877ddeb0..7172ee505 100644
--- a/src/qdoc/generator.cpp
+++ b/src/qdoc/generator.cpp
@@ -1048,7 +1048,8 @@ void Generator::generateFileList(const DocumentNode* dn,
QStringList(),
exampleDirs,
file,
- exampleImgExts);
+ exampleImgExts,
+ &userFriendlyFilePath);
outFileNames_ << prefix.mid(1) + userFriendlyFilePath;
userFriendlyFilePath.truncate(userFriendlyFilePath.lastIndexOf('/'));
QString imgOutDir = outDir_ + prefix + userFriendlyFilePath;
diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp
index 046467a94..84b44c4da 100644
--- a/src/qdoc/node.cpp
+++ b/src/qdoc/node.cpp
@@ -850,7 +850,8 @@ Node *Aggregate::findChildNode(const QString& name, Node::Genus genus, int findF
&& !node->isQmlType()
&& !node->isQmlBasicType()
&& !node->isJsType()
- && !node->isJsBasicType())
+ && !node->isJsBasicType()
+ && !node->isEnumType())
continue;
}
return node;