diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 9a281306177..bfb7bcc67ed 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -1585,7 +1586,8 @@ void CMakeBuildSystem::wireUpConnections() }); connect(project(), &Project::projectFileIsDirty, this, [this] { - if (buildConfiguration()->isActive() && !isParsing()) { + const bool isBuilding = BuildManager::isBuilding(project()); + if (buildConfiguration()->isActive() && !isParsing() && !isBuilding) { if (settings().autorunCMake()) { qCDebug(cmakeBuildSystemLog) << "Requesting parse due to dirty project file"; reparse(CMakeBuildSystem::REPARSE_FORCE_CMAKE_RUN); diff --git a/src/plugins/languageclient/languageclientcompletionassist.cpp b/src/plugins/languageclient/languageclientcompletionassist.cpp index 96aebde7850..56ac11bdede 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.cpp +++ b/src/plugins/languageclient/languageclientcompletionassist.cpp @@ -317,7 +317,7 @@ public: }); setProposal(m_processor->start(std::move(interface)), prefix); - if (!m_processor->running()) { + if (m_processor && !m_processor->running()) { delete m_processor; m_processor = nullptr; } diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 43d35291599..5de202b946a 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -1303,16 +1303,18 @@ void SimpleTargetRunnerPrivate::stop() m_stopRequested = true; q->appendMessage(Tr::tr("User requested stop. Shutting down..."), NormalMessageFormat); switch (m_state) { - case Run: - m_process.stop(); - if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices - QTC_CHECK(false); // Shouldn't happen, just emergency handling - m_process.close(); - forwardDone(); - } - break; - case Inactive: - break; + case Run: + m_process.stop(); + if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices + q->appendMessage(Tr::tr("Remote process did not finish in time. " + "Connectivity lost?"), ErrorMessageFormat); + m_process.close(); + m_state = Inactive; + forwardDone(); + } + break; + case Inactive: + break; } } } diff --git a/src/plugins/remotelinux/killappstep.cpp b/src/plugins/remotelinux/killappstep.cpp index 1a105eb9474..a918a279d1c 100644 --- a/src/plugins/remotelinux/killappstep.cpp +++ b/src/plugins/remotelinux/killappstep.cpp @@ -59,6 +59,7 @@ GroupItem KillAppStep::deployRecipe() const QString message = result == DoneWith::Success ? Tr::tr("Remote application killed.") : Tr::tr("Failed to kill remote application. Assuming it was not running."); addProgressMessage(message); + return DoneResult::Success; }; return DeviceProcessKillerTask(onSetup, onDone); } diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp index 6a1ac9aa9fe..aac1f121fac 100644 --- a/src/plugins/remotelinux/linuxdevice.cpp +++ b/src/plugins/remotelinux/linuxdevice.cpp @@ -185,6 +185,7 @@ void SshSharedConnection::connectToHost() }); QStringList args = QStringList{"-M", "-N", "-o", "ControlPersist=no", + "-o", "ServerAliveInterval=10", // TODO: Make configurable? "-o", "PermitLocalCommand=yes", // Enable local command "-o", "LocalCommand=echo"} // Local command is executed after successfully // connecting to the server. "echo" will print "\n" diff --git a/src/plugins/webassembly/webassemblyemsdk.cpp b/src/plugins/webassembly/webassemblyemsdk.cpp index 4ba3563c2ec..12c4d649678 100644 --- a/src/plugins/webassembly/webassemblyemsdk.cpp +++ b/src/plugins/webassembly/webassemblyemsdk.cpp @@ -51,7 +51,9 @@ static QString emSdkEnvOutput(const FilePath &sdkRoot) emSdkEnv.setCommand(CommandLine(scriptFile)); } else { // File needs to be source'd, not executed. - emSdkEnv.setCommand({sdkRoot.withNewPath("bash"), {"-c", ". " + scriptFile.path()}}); + CommandLine cmd{sdkRoot.withNewPath("bash"), {"-c"}}; + cmd.addCommandLineAsSingleArg({".", {scriptFile.path()}}); + emSdkEnv.setCommand(cmd); } emSdkEnv.runBlocking(); const QString result = emSdkEnv.allOutput(); diff --git a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp index 23bd43541eb..ecb71ce3838 100644 --- a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp +++ b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp @@ -16,7 +16,6 @@ #include #include #include -#include #include #include #include @@ -25,6 +24,12 @@ #include #include +#if QT_VERSION < QT_VERSION_CHECK(6, 7, 0) +#include +#else +#include +#endif + #ifdef QUICK3D_PARTICLES_MODULE #include #include diff --git a/src/tools/qml2puppet/qml2puppet/editor3d/selectionboxgeometry.cpp b/src/tools/qml2puppet/qml2puppet/editor3d/selectionboxgeometry.cpp index 64c3c25a2ab..14efba3b9e0 100644 --- a/src/tools/qml2puppet/qml2puppet/editor3d/selectionboxgeometry.cpp +++ b/src/tools/qml2puppet/qml2puppet/editor3d/selectionboxgeometry.cpp @@ -6,7 +6,6 @@ #include "selectionboxgeometry.h" #include -#include #include #include #include @@ -14,6 +13,12 @@ #include #include +#if QT_VERSION < QT_VERSION_CHECK(6, 7, 0) +#include +#else +#include +#endif + #include namespace QmlDesigner { diff --git a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp index c90cbe140a5..18d4536dfff 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp +++ b/src/tools/qml2puppet/qml2puppet/instances/qt5nodeinstanceserver.cpp @@ -46,7 +46,12 @@ #define USE_PIPELINE_CACHE 1 #if defined(QUICK3D_MODULE) && QT_VERSION >= QT_VERSION_CHECK(6, 5, 2) +#if QT_VERSION < QT_VERSION_CHECK(6, 7, 0) #include +#else +#include +#include +#endif #include #define USE_SHADER_CACHE 1 #endif