diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-11-03 14:26:47 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-11-03 14:26:47 +0100 |
commit | c2e27bd927c8f041c04ad6e4217f2856a4cddace (patch) | |
tree | 836e66b0c388ed43f0d818f5720770cf7b539fea | |
parent | 7e614b599e017a8200b7a78df93eb0500cc599a4 (diff) | |
parent | ad8a04f410e7293bba80c9c02640739f92588deb (diff) | |
download | qt-creator-c2e27bd927c8f041c04ad6e4217f2856a4cddace.tar.gz |
Merge remote-tracking branch 'origin/5.0' into 6.0
Change-Id: I436d15f2aeefbf6fc80340f01398509c213fc1b1
-rw-r--r-- | README.md | 22 | ||||
-rw-r--r-- | dist/changes-5.0.3.md | 56 | ||||
-rw-r--r-- | doc/qtcreator/src/overview/creator-acknowledgements.qdoc | 35 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppprojectupdater.cpp | 7 |
4 files changed, 105 insertions, 15 deletions
@@ -312,7 +312,10 @@ we thank the authors who made this possible: With backported/additional patches from https://code.qt.io/clang/llvm-project.git -### Reference implementation for std::experimental::optional +### Optional + + A single-header header-only library for representing optional (nullable) + objects for C++14 (and C++11 to some extent) and passing them by value. https://github.com/akrzemi1/Optional @@ -327,7 +330,9 @@ we thank the authors who made this possible: The idea and interface is based on Boost.Optional library authored by Fernando Luis Cacciola Carballal -### Implementation for std::variant +### MPark.Variant + + MPark.Variant is an implementation of C++17 std::variant for C++11/14/17. https://github.com/mpark/variant @@ -338,7 +343,11 @@ we thank the authors who made this possible: Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) -### Implementation for std::span +### std::span implementation for C++11 and later + + A single-header implementation of C++20's std::span, conforming to the C++20 + committee draft. It is compatible with C++11, but will use newer language + features if they are available. https://github.com/tcbrindle/span @@ -398,7 +407,10 @@ we thank the authors who made this possible: IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -### SQLite, in-process library that implements a SQL database engine +### SQLite (version 3.8.10.2) + +SQLite is a C-language library that implements a small, fast, self-contained, +high-reliability, full-featured, SQL database engine. SQLite (https://www.sqlite.org) is in the Public Domain. @@ -490,7 +502,7 @@ SQLite (https://www.sqlite.org) is in the Public Domain. from Florian Loitsch which is licensed under the MIT License (see above). Copyright © 2009 Florian Loitsch -### Minitrace +### minitrace Simple C/C++ library for producing JSON traces. diff --git a/dist/changes-5.0.3.md b/dist/changes-5.0.3.md new file mode 100644 index 0000000000..2c8f9d5bd1 --- /dev/null +++ b/dist/changes-5.0.3.md @@ -0,0 +1,56 @@ +Qt Creator 5.0.3 +================ + +Qt Creator version 5.0.3 contains bug fixes. + +The most important changes are listed in this document. For a complete list of +changes, see the Git log for the Qt Creator sources that you can check out from +the public Git repository. For example: + + git clone git://code.qt.io/qt-creator/qt-creator.git + git log --cherry-pick --pretty=oneline origin/v5.0.2..v5.0.3 + +Editing +------- + +### QML + +* Fixed possible crash on shutdown + +### Image Viewer + +* Fixed crash when opening invalid movie (QTCREATORBUG-26377) + +Projects +-------- + +### qmake + +* Fixed handling of `QMAKE_EXTRA_COMPILERS` (QTCREATORBUG-26323) + +Platforms +--------- + +### macOS + +* Fixed crash when opening qmake projects on ARM Macs (QTBUG-97085) + +### Android + +* Fixed issue in installation step with qmake projects (QTCREATORBUG-26357) + +Credits for these changes go to: +-------------------------------- +Assam Boudjelthia +Christian Kandeler +Eike Ziller +Henning Gruendl +Jaroslaw Kobus +Johanna Vanhatapio +Jörg Bornemann +Kai Köhne +Kaj Grönholm +Leena Miettinen +Robert Löhning +Thomas Hartmann +Tim Jenssen diff --git a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc index 4ec9eb9ea2..2e6b71d0f7 100644 --- a/doc/qtcreator/src/overview/creator-acknowledgements.qdoc +++ b/doc/qtcreator/src/overview/creator-acknowledgements.qdoc @@ -385,7 +385,11 @@ \li \l{http://code.qt.io/cgit/clang/clang.git} \endlist - \li \b{Reference implementation for std::experimental::optional} + \li \b{Optional} + + A single-header header-only library for representing optional + (nullable) objects for C++14 (and C++11 to some extent) and passing + them by value. Copyright (C) 2011-2012 Andrzej Krzemienski @@ -404,7 +408,9 @@ \li \l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/libs/3rdparty/optional} \endlist - \li \b{Implementation for std::variant} + \li \b{MPark.Variant} + + MPark.Variant is an implementation of C++17 std::variant for C++11/14/17. Copyright Michael Park, 2015-2017 @@ -419,7 +425,11 @@ \li \l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/libs/3rdparty/variant} \endlist - \li \b{Implementation for std::span} + \li \b{std::span implementation for C++11 and later} + + A single-header implementation of C++20's std::span, conforming to + the C++20 committee draft. It is compatible with C++11, but will use + newer language features if they are available. Copyright Tristan Brindle, 2018 @@ -613,7 +623,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \endcode - \li \b{SQLite, an embedded database. Version 3.8.10.2}\br\br + \li \b{SQLite (version 3.8.10.2)} + + SQLite is a C-language library that implements a small, fast, + self-contained, high-reliability, full-featured, SQL database engine. The author or authors of this code dedicate any and all copyright interest in this code to the public domain. We make this dedication @@ -628,11 +641,15 @@ \li \l{https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/src/libs/3rdparty/sqlite} \endlist - \li \b{three.js (license MIT)}\br - Copyright (C) 2010-2015 three.js authors\br + \li \b{three.js} + + Copyright (C) 2010-2015 three.js authors + + MIT License. + share/qtcreator/templates/wizards/projects/qmake/qtcanvas3dapplication - \li \b{OpenSSL toolkit} + \li \b{OpenSSL} The OpenSSL toolkit stays under a double license, i.e. both the conditions of the OpenSSL License and the original SSLeay license apply to the toolkit. @@ -753,7 +770,7 @@ [including the GNU Public Licence.] \endcode - \li \b{Mesa LLVMPipe, 3D graphics library} + \li \b{LLVMPipe - The Mesa 3D Graphics Library} Mesa is a 3D graphics library with an API which is very similar to that of OpenGL. The llvmpipe software renderer enables the running of OpenGL @@ -826,7 +843,7 @@ from Florian Loitsch which is licensed under the MIT License (see above). Copyright (C) 2009 Florian Loitsch - \li \b Minitrace + \li \b minitrace Simple C/C++ library for producing JSON traces. diff --git a/src/plugins/cppeditor/cppprojectupdater.cpp b/src/plugins/cppeditor/cppprojectupdater.cpp index 4e97779a3e..96e7f3b66c 100644 --- a/src/plugins/cppeditor/cppprojectupdater.cpp +++ b/src/plugins/cppeditor/cppprojectupdater.cpp @@ -90,11 +90,16 @@ void CppProjectUpdater::update(const ProjectUpdateInfo &projectUpdateInfo, // extra compilers for (QPointer<ExtraCompiler> compiler : qAsConst(m_extraCompilers)) { if (compiler->isDirty()) { - auto watcher = new QFutureWatcher<void>; + QPointer<QFutureWatcher<void>> watcher = new QFutureWatcher<void>; // queued connection to delay after the extra compiler updated its result contents, // which is also done in the main thread when compiler->run() finished connect(watcher, &QFutureWatcherBase::finished, this, [this, watcher] { + // In very unlikely case the CppProjectUpdater::cancel() could have been + // invoked after posting the finished() signal and before this handler + // gets called. In this case the watcher is already deleted. + if (!watcher) + return; m_projectUpdateFutureInterface->setProgressValue( m_projectUpdateFutureInterface->progressValue() + 1); m_extraCompilersFutureWatchers.remove(watcher); |