diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index 97485a8869f..87007a42999 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -4556,7 +4556,7 @@ Jetzt Commit durchführen?
Amend Last Commit...
- Letzte Abgabe ändern...
+ Letzten Commit ändern...
Push
@@ -30960,7 +30960,7 @@ Bitte erstellen Sie die Anwendung qmldump auf der Einstellungsseite der Qt-Versi
Replace All
- Alles ersetzen
+ Alle ersetzen
Case Sensitive
diff --git a/src/plugins/beautifier/clangformat/clangformat.cpp b/src/plugins/beautifier/clangformat/clangformat.cpp
index a3393dcdb40..800b3e4c184 100644
--- a/src/plugins/beautifier/clangformat/clangformat.cpp
+++ b/src/plugins/beautifier/clangformat/clangformat.cpp
@@ -44,9 +44,11 @@
#include
#include
#include
+#include
#include
#include
+#include
namespace Beautifier {
namespace Internal {
@@ -131,8 +133,14 @@ Command ClangFormat::command(int offset, int length) const
if (m_settings->usePredefinedStyle()) {
command.addOption(QLatin1String("-style=") + m_settings->predefinedStyle());
} else {
- command.addOption(QLatin1String("-style={")
- + m_settings->style(m_settings->customStyle()).remove(QLatin1Char('\n'))
+ // The clang-format option file is YAML
+ const QStringList lines = m_settings->style(m_settings->customStyle())
+ .split(QLatin1Char('\n'), QString::SkipEmptyParts);
+ const QStringList options = Utils::filtered(lines, [](const QString &s) -> bool {
+ const QString option = s.trimmed();
+ return !(option.startsWith(QLatin1Char('#')) || option == QLatin1String("---"));
+ });
+ command.addOption(QLatin1String("-style={") + options.join(QLatin1String(", "))
+ QLatin1Char('}'));
}
diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp
index 39eee535ec8..a1b3fd9ba7f 100644
--- a/src/plugins/debugger/lldb/lldbengine.cpp
+++ b/src/plugins/debugger/lldb/lldbengine.cpp
@@ -536,11 +536,7 @@ void LldbEngine::selectThread(ThreadId threadId)
DebuggerCommand cmd("selectThread");
cmd.arg("id", threadId.raw());
cmd.callback = [this](const DebuggerResponse &) {
- DebuggerCommand cmd("fetchStack");
- cmd.arg("nativemixed", isNativeMixedActive());
- cmd.arg("stacklimit", action(MaximalStackDepth)->value().toInt());
- runCommand(cmd);
- updateLocals();
+ fetchStack(action(MaximalStackDepth)->value().toInt());
};
runCommand(cmd);
}
diff --git a/src/plugins/projectexplorer/applicationlauncher.cpp b/src/plugins/projectexplorer/applicationlauncher.cpp
index 093cec6ecb6..a3d8b4534b2 100644
--- a/src/plugins/projectexplorer/applicationlauncher.cpp
+++ b/src/plugins/projectexplorer/applicationlauncher.cpp
@@ -38,6 +38,7 @@
#include
#include
+#include
#ifdef Q_OS_WIN
#include
@@ -76,7 +77,9 @@ struct ApplicationLauncherPrivate {
QTextCodec::ConverterState m_outputCodecState;
QTextCodec::ConverterState m_errorCodecState;
// Keep track whether we need to emit a finished signal
- bool m_processRunning;
+ bool m_processRunning = false;
+
+ qint64 m_listeningPid = 0;
};
ApplicationLauncherPrivate::ApplicationLauncherPrivate() :
@@ -110,7 +113,7 @@ ApplicationLauncher::ApplicationLauncher(QObject *parent)
d->m_consoleProcess.setSettings(Core::ICore::settings());
#endif
connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processStarted,
- this, &ApplicationLauncher::processStarted);
+ this, &ApplicationLauncher::handleProcessStarted);
connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processError,
this, &ApplicationLauncher::consoleProcessError);
connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processStopped,
@@ -273,19 +276,22 @@ void ApplicationLauncher::cannotRetrieveDebugOutput()
void ApplicationLauncher::checkDebugOutput(qint64 pid, const QString &message)
{
- if (applicationPID() == pid)
+ if (d->m_listeningPid == pid)
emit appendMessage(message, Utils::DebugFormat);
}
void ApplicationLauncher::processDone(int exitCode, QProcess::ExitStatus status)
{
- emit processExited(exitCode, status);
+ QTimer::singleShot(100, this, [this, exitCode, status]() {
+ d->m_listeningPid = 0;
+ emit processExited(exitCode, status);
+ });
}
void ApplicationLauncher::bringToForeground()
{
emit bringToForegroundRequested(applicationPID());
- emit processStarted();
+ handleProcessStarted();
}
QString ApplicationLauncher::msgWinCannotRetrieveDebuggingOutput()
@@ -293,4 +299,10 @@ QString ApplicationLauncher::msgWinCannotRetrieveDebuggingOutput()
return tr("Cannot retrieve debugging output.") + QLatin1Char('\n');
}
+void ApplicationLauncher::handleProcessStarted()
+{
+ d->m_listeningPid = applicationPID();
+ emit processStarted();
+}
+
} // namespace ProjectExplorer
diff --git a/src/plugins/projectexplorer/applicationlauncher.h b/src/plugins/projectexplorer/applicationlauncher.h
index 06820b7f6c3..ae62cb857df 100644
--- a/src/plugins/projectexplorer/applicationlauncher.h
+++ b/src/plugins/projectexplorer/applicationlauncher.h
@@ -69,6 +69,7 @@ signals:
void error(QProcess::ProcessError error);
private:
+ void handleProcessStarted();
void guiProcessError();
void consoleProcessError(const QString &error);
void readStandardOutput();
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
index 21cd6f9bffa..8e5b279937d 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp
@@ -480,7 +480,7 @@ QString JsonWizardFactory::localizedString(const QVariant &value)
}
return QString();
}
- return QCoreApplication::translate("ProjectExplorer::JsonWizardFactory", value.toByteArray());
+ return QCoreApplication::translate("ProjectExplorer::JsonWizard", value.toByteArray());
}
bool JsonWizardFactory::isAvailable(Core::Id platformId) const
diff --git a/src/plugins/qmakeprojectmanager/makestep.ui b/src/plugins/qmakeprojectmanager/makestep.ui
index 9856fd7d2c7..7c706054a89 100644
--- a/src/plugins/qmakeprojectmanager/makestep.ui
+++ b/src/plugins/qmakeprojectmanager/makestep.ui
@@ -7,16 +7,17 @@
0
0
220
- 46
+ 62
-
-
- QFormLayout::AllNonFixedFieldsGrow
-
-
- 0
-
+
+ -
+
+
+ Override %1:
+
+
+
-
@@ -30,13 +31,6 @@
-
- -
-
-
- Override %1:
-
-
-
diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
index f158754a897..fba83df7b8d 100644
--- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp
@@ -259,14 +259,18 @@ void QmlProfilerClientManager::tryToConnect()
d->connectionTimer.stop();
d->connectionAttempts = 0;
} else if (d->connection && d->connection->socketState() != QAbstractSocket::ConnectedState) {
- // Replace the connection after trying for some time. On some operating systems (OSX) the
- // very first connection to a TCP server takes a very long time to get established.
+ if (d->connectionAttempts < 3) {
+ // Replace the connection after trying for some time. On some operating systems (OSX) the
+ // very first connection to a TCP server takes a very long time to get established.
- // delete directly here, so that any pending events aren't delivered. We don't want the
- // connection first to be established and then torn down again.
- delete d->connection;
- d->connection = 0;
- connectTcpClient(d->tcpPort);
+ // delete directly here, so that any pending events aren't delivered. We don't want the
+ // connection first to be established and then torn down again.
+ delete d->connection;
+ d->connection = 0;
+ connectTcpClient(d->tcpPort);
+ } else if (!d->connection->isConnecting()) {
+ d->connection->connectToHost(d->tcpHost, d->tcpPort);
+ }
} else if (d->connectionAttempts == 50) {
d->connectionTimer.stop();
d->connectionAttempts = 0;
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index a9ff6ba352d..ed862ce0190 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -302,16 +302,17 @@ static QString sysroot(RunConfiguration *runConfig)
AnalyzerRunControl *QmlProfilerTool::createRunControl(RunConfiguration *runConfiguration)
{
- QmlProfilerRunConfigurationAspect *aspect = static_cast(
- runConfiguration->extraAspect(Constants::SETTINGS));
- QTC_ASSERT(aspect, return 0);
-
- QmlProfilerSettings *settings = static_cast(aspect->currentSettings());
- QTC_ASSERT(settings, return 0);
-
- d->m_profilerConnections->setFlushInterval(settings->flushEnabled() ?
- settings->flushInterval() : 0);
- d->m_profilerConnections->setAggregateTraces(settings->aggregateTraces());
+ if (runConfiguration) {
+ QmlProfilerRunConfigurationAspect *aspect = static_cast(
+ runConfiguration->extraAspect(Constants::SETTINGS));
+ if (aspect) {
+ if (QmlProfilerSettings *settings = static_cast(aspect->currentSettings())) {
+ d->m_profilerConnections->setFlushInterval(settings->flushEnabled() ?
+ settings->flushInterval() : 0);
+ d->m_profilerConnections->setAggregateTraces(settings->aggregateTraces());
+ }
+ }
+ }
return new QmlProfilerRunControl(runConfiguration, this);
}
diff --git a/tests/system/objects.map b/tests/system/objects.map
index ea119cdb44d..dc49f301408 100644
--- a/tests/system/objects.map
+++ b/tests/system/objects.map
@@ -42,7 +42,6 @@
:CMake Wizard.Cancel_QPushButton {text='Cancel' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}
:CMake Wizard.Finish_QPushButton {text~='(Finish|Done)' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}
:CMake Wizard.Generator:_QLabel {text='Generator:' type='QLabel' unnamed='1' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}
-:CMake Wizard.Next_QPushButton {name='__qt__passive_wizardbutton1' text~='(Next.*|Continue)' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}
:CMake Wizard.Run CMake_QPushButton {text='Run CMake' type='QPushButton' unnamed='1' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'}
:CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard {type='CMakeProjectManager::Internal::CMakeOpenProjectWizard' unnamed='1' visible='1' windowTitle='CMake Wizard'}
:Cannot Open Project.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':Cannot Open Project_QMessageBox'}