diff --git a/src/libs/utils/externalterminalprocessimpl.cpp b/src/libs/utils/externalterminalprocessimpl.cpp index 9ac01a7ee74..5cff874eb76 100644 --- a/src/libs/utils/externalterminalprocessimpl.cpp +++ b/src/libs/utils/externalterminalprocessimpl.cpp @@ -111,8 +111,6 @@ expected_str ProcessStubCreator::startStubProcess(const ProcessSetupData if (detached) QObject::connect(process, &Process::done, process, &Process::deleteLater); - QObject::connect(process, &Process::done, m_interface, &TerminalInterface::onStubExited); - process->setWorkingDirectory(setupData.m_workingDirectory); if constexpr (HostOsInfo::isWindowsHost()) { diff --git a/src/plugins/cppeditor/compileroptionsbuilder_test.cpp b/src/plugins/cppeditor/compileroptionsbuilder_test.cpp index b09a8061fc7..8e142fcc86e 100644 --- a/src/plugins/cppeditor/compileroptionsbuilder_test.cpp +++ b/src/plugins/cppeditor/compileroptionsbuilder_test.cpp @@ -281,6 +281,8 @@ void CompilerOptionsBuilderTest::testClangHeadersAndCppIncludePathsOrderLinux() t.builtIn("/usr/local/include"), t.builtIn("/usr/lib/gcc/x86_64-linux-gnu/4.8/include"), t.builtIn("/usr/include/x86_64-linux-gnu"), + t.builtIn("/usr/lib64/clang/16/include"), + t.builtIn("/usr/lib/clang/15.0.7/include"), t.builtIn("/usr/include")}; CompilerOptionsBuilder compilerOptionsBuilder(t.finalize(), UseSystemHeader::No, UseTweakedHeaderPaths::Yes, UseLanguageDefines::No, UseBuildSystemWarnings::No, diff --git a/src/plugins/cppeditor/headerpathfilter.cpp b/src/plugins/cppeditor/headerpathfilter.cpp index 4def05060c1..bc1625643f4 100644 --- a/src/plugins/cppeditor/headerpathfilter.cpp +++ b/src/plugins/cppeditor/headerpathfilter.cpp @@ -104,7 +104,7 @@ bool isClangSystemHeaderPath(const HeaderPath &headerPath) // For example GCC on macOS uses system clang include path which makes clang code model // include incorrect system headers. static const QRegularExpression clangIncludeDir( - R"(\A.*/lib\d*/clang/\d+\.\d+(\.\d+)?/include\z)"); + R"(\A.*/lib\d*/clang/\d+(\.\d+){0,2}/include\z)"); return clangIncludeDir.match(headerPath.path).hasMatch(); } diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp index c5ca64eeb31..8ac7e819f1b 100644 --- a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp +++ b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp @@ -161,8 +161,11 @@ void CtfVisualizerTool::loadJson() auto *task = new QFuture(futureInterface); QThread *thread = QThread::create([this, filename, futureInterface]() { - m_traceManager->load(filename); - + try { + m_traceManager->load(filename); + } catch (...) { + // nlohmann::json can throw exceptions when requesting type that is wrong + } m_modelAggregator->moveToThread(QApplication::instance()->thread()); m_modelAggregator->setParent(this); futureInterface->reportFinished(); diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index e4bed27bcf0..532843cf418 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -1450,7 +1450,7 @@ void GdbEngine::handleStop2(const GdbMi &data) void GdbEngine::handleStop3() { - if (terminal() && state() != InferiorRunOk) { + if (!terminal() || state() != InferiorRunOk) { DebuggerCommand cmd("-thread-info", Discardable); cmd.callback = CB(handleThreadInfo); runCommand(cmd); diff --git a/src/shared/qbs b/src/shared/qbs index b607fac54ec..40d30480847 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit b607fac54ecc6e047a10ac7321884dafb6912ee1 +Subproject commit 40d304808479ea72c1d02dacf007ab8b05851e2e