diff --git a/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp b/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp index 0da6ba79e..a9c1ea5e0 100644 --- a/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/CaptureDialog.cpp @@ -963,7 +963,7 @@ CaptureSettings CaptureDialog::Settings() ret.executable = ui->exePath->text(); ret.workingDir = ui->workDirPath->text(); - ret.commandLine = ui->cmdline->text(); + ret.commandLine = GetCommandLine(); ret.environment = m_EnvModifications; @@ -1081,6 +1081,13 @@ void CaptureDialog::SetCommandLine(const rdcstr &cmd) ui->cmdline->setText(cmd); } +QString CaptureDialog::GetCommandLine() +{ + return ui->cmdline->text() + .replace(QLatin1Char('\n'), QLatin1Char(' ')) + .replace(QLatin1Char('\r'), QLatin1Char(' ')); +} + void CaptureDialog::LoadSettings(const rdcstr &filename) { SetSettings(LoadSettingsFromDisk(filename)); @@ -1227,7 +1234,7 @@ void CaptureDialog::TriggerCapture() workingDir = ui->workDirPath->text(); } - QString cmdLine = ui->cmdline->text(); + QString cmdLine = GetCommandLine(); SaveSettings(mostRecentFilename()); diff --git a/qrenderdoc/Windows/Dialogs/CaptureDialog.h b/qrenderdoc/Windows/Dialogs/CaptureDialog.h index 106561e17..1d4bbaa7c 100644 --- a/qrenderdoc/Windows/Dialogs/CaptureDialog.h +++ b/qrenderdoc/Windows/Dialogs/CaptureDialog.h @@ -67,6 +67,7 @@ public: void SetWorkingDirectory(const rdcstr &dir) override; void SetCommandLine(const rdcstr &cmd) override; + QString GetCommandLine(); void SetEnvironmentModifications(const rdcarray &modifications) override; void SetSettings(CaptureSettings settings) override;