diff --git a/share/qtcreator/qml/qmlpuppet/images/template_image.png b/share/qtcreator/qml/qmlpuppet/images/template_image.png index c880258277f..96e7e637964 100644 Binary files a/share/qtcreator/qml/qmlpuppet/images/template_image.png and b/share/qtcreator/qml/qmlpuppet/images/template_image.png differ diff --git a/src/libs/advanceddockingsystem/dockmanager.cpp b/src/libs/advanceddockingsystem/dockmanager.cpp index bbb4a3b6154..dbfbb91a481 100644 --- a/src/libs/advanceddockingsystem/dockmanager.cpp +++ b/src/libs/advanceddockingsystem/dockmanager.cpp @@ -357,13 +357,20 @@ namespace ADS save(); saveStartupWorkspace(); + // Using a temporal vector since the destructor of + // FloatingDockWidgetContainer alters d->m_floatingWidgets. + std::vector aboutToDeletes; for (auto floatingWidget : qAsConst(d->m_floatingWidgets)) { - /* There have been crashes with partially destructed widgets in - m_floatingWidgets. Those do not have a parent. */ - if (floatingWidget && floatingWidget->parent() == this) - delete floatingWidget.data(); + if (floatingWidget) + aboutToDeletes.push_back(floatingWidget); } + + for (auto del : aboutToDeletes) { + delete del; + } + d->m_floatingWidgets.clear(); + delete d; } diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 5620c08754a..21b776f8605 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -922,7 +922,7 @@ void CMakeBuildSystem::runCTest() process.setWorkingDirectory(workingDirectory); process.start(cmd.executable().toString(), cmd.splitArguments(), QIODevice::ReadOnly); - if (!process.waitForStarted(1000) || !process.waitForFinished(1000)) { + if (!process.waitForStarted(1000) || !process.waitForFinished()) { if (process.state() == QProcess::NotRunning) return; process.terminate(); @@ -1139,7 +1139,7 @@ QList CMakeBuildSystem::findExtraCompilers() // Find all files generated by any of the extra compilers, in a rather crude way. Project *p = project(); const FilePaths fileList = p->files([&fileExtensions](const Node *n) { - if (!Project::SourceFiles(n)) + if (!Project::SourceFiles(n) || !n->isEnabled()) // isEnabled excludes nodes from the file system tree return false; const QString fp = n->filePath().toString(); const int pos = fp.lastIndexOf('.'); diff --git a/src/plugins/cmakeprojectmanager/fileapireader.cpp b/src/plugins/cmakeprojectmanager/fileapireader.cpp index 274fe2f39cf..5a200bd318d 100644 --- a/src/plugins/cmakeprojectmanager/fileapireader.cpp +++ b/src/plugins/cmakeprojectmanager/fileapireader.cpp @@ -64,8 +64,6 @@ FileApiReader::FileApiReader() FileApiReader::~FileApiReader() { - if (isParsing()) - emit errorOccurred(tr("Parsing has been canceled.")); stop(); resetData(); }