diff options
Diffstat (limited to 'src/libs/utils/consoleprocess_unix.cpp')
-rw-r--r-- | src/libs/utils/consoleprocess_unix.cpp | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/src/libs/utils/consoleprocess_unix.cpp b/src/libs/utils/consoleprocess_unix.cpp index c2f88cf1f9..2e9738c68a 100644 --- a/src/libs/utils/consoleprocess_unix.cpp +++ b/src/libs/utils/consoleprocess_unix.cpp @@ -33,6 +33,8 @@ #include "environment.h" #include "qtcprocess.h" +#include <utils/hostosinfo.h> + #include <QCoreApplication> #include <QDir> #include <QSettings> @@ -134,12 +136,14 @@ bool ConsoleProcess::start(const QString &program, const QString &args) } } + if (Utils::HostOsInfo::isMacHost()) { + xtermArgs << (QCoreApplication::applicationDirPath() + + QLatin1String("/../Resources/qtcreator_process_stub")); + } else { + xtermArgs << (QCoreApplication::applicationDirPath() + + QLatin1String("/qtcreator_process_stub")); + } xtermArgs -#ifdef Q_OS_MAC - << (QCoreApplication::applicationDirPath() + QLatin1String("/../Resources/qtcreator_process_stub")) -#else - << (QCoreApplication::applicationDirPath() + QLatin1String("/qtcreator_process_stub")) -#endif << modeOption(d->m_mode) << d->m_stubServer.fullServerName() << msgPromptToClose() @@ -296,9 +300,9 @@ static const Terminal knownTerminals[] = QString ConsoleProcess::defaultTerminalEmulator() { -#ifdef Q_OS_MAC - return QLatin1String("/usr/X11/bin/xterm -e"); -#else + if (Utils::HostOsInfo::isMacHost()) + return QLatin1String("/usr/X11/bin/xterm"); + const Environment env = Environment::systemEnvironment(); const int terminalCount = int(sizeof(knownTerminals) / sizeof(knownTerminals[0])); for (int i = 0; i < terminalCount; ++i) { @@ -310,14 +314,13 @@ QString ConsoleProcess::defaultTerminalEmulator() } } return QLatin1String("xterm -e"); -#endif } QStringList ConsoleProcess::availableTerminalEmulators() { -#ifdef Q_OS_MAC - return QStringList(defaultTerminalEmulator()); -#else + if (Utils::HostOsInfo::isMacHost()) + return QStringList(defaultTerminalEmulator()); + QStringList result; const Environment env = Environment::systemEnvironment(); const int terminalCount = int(sizeof(knownTerminals) / sizeof(knownTerminals[0])); @@ -331,7 +334,6 @@ QStringList ConsoleProcess::availableTerminalEmulators() } result.sort(); return result; -#endif } QString ConsoleProcess::terminalEmulator(const QSettings *settings) |