diff options
-rw-r--r-- | src/plugins/terminal/terminalpane.cpp | 6 | ||||
-rw-r--r-- | src/plugins/terminal/terminalprocessimpl.cpp | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/terminal/terminalpane.cpp b/src/plugins/terminal/terminalpane.cpp index f5c4046f92..92ad595191 100644 --- a/src/plugins/terminal/terminalpane.cpp +++ b/src/plugins/terminal/terminalpane.cpp @@ -175,7 +175,7 @@ void TerminalPane::openTerminal(const OpenTerminalParameters ¶meters) { OpenTerminalParameters parametersCopy{parameters}; if (!m_isVisible) - emit showPage(0); + emit showPage(IOutputPane::ModeSwitch); if (!parametersCopy.workingDirectory) { const std::optional<FilePath> projectDir = startupProjectDirectory(); @@ -199,7 +199,7 @@ void TerminalPane::openTerminal(const OpenTerminalParameters ¶meters) void TerminalPane::addTerminal(TerminalWidget *terminal, const QString &title) { if (!m_isVisible) - emit showPage(0); + emit showPage(IOutputPane::ModeSwitch); m_tabWidget->setCurrentIndex(m_tabWidget->addTab(terminal, title)); setupTerminalWidget(terminal); @@ -209,7 +209,7 @@ void TerminalPane::addTerminal(TerminalWidget *terminal, const QString &title) void TerminalPane::ensureVisible(TerminalWidget *terminal) { if (!m_isVisible) - emit showPage(0); + emit showPage(IOutputPane::ModeSwitch); m_tabWidget->setCurrentWidget(terminal); terminal->setFocus(); } diff --git a/src/plugins/terminal/terminalprocessimpl.cpp b/src/plugins/terminal/terminalprocessimpl.cpp index ef3c4acf64..d2b76e51a6 100644 --- a/src/plugins/terminal/terminalprocessimpl.cpp +++ b/src/plugins/terminal/terminalprocessimpl.cpp @@ -44,10 +44,11 @@ public: terminal->setShellName(setup.m_commandLine.executable().fileName()); m_terminalPane->addTerminal(terminal, "App"); } else { - m_terminalPane->ensureVisible(terminal); terminal->restart(openParameters); } + m_terminalPane->ensureVisible(terminal); + connect(terminal, &TerminalWidget::destroyed, m_process, [process = m_process] { if (process->inferiorProcessId()) process->emitFinished(-1, QProcess::CrashExit); |