diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp index 2e79c25c13e..1de02e050e1 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodebugsupport.cpp @@ -81,10 +81,10 @@ RunControl *MaemoDebugSupport::createDebugRunControl(MaemoRunConfiguration *runC if (runConfig->useRemoteGdb()) { params.startMode = StartRemoteGdb; params.executable = runConfig->remoteExecutableFilePath(); - params.debuggerCommand - = MaemoGlobal::remoteCommandPrefix(runConfig->remoteExecutableFilePath()) - + MaemoGlobal::remoteEnvironment(runConfig->userEnvironmentChanges()) - + QLatin1String(" /usr/bin/gdb"); + params.debuggerCommand = MaemoGlobal::remoteCommandPrefix(runConfig->deviceConfig()->osVersion(), + runConfig->remoteExecutableFilePath()) + + MaemoGlobal::remoteEnvironment(runConfig->userEnvironmentChanges()) + + QLatin1String(" /usr/bin/gdb"); params.connParams = devConf->sshParameters(); params.localMountDir = runConfig->localDirToMountForRemoteGdb(); params.remoteMountPoint @@ -289,7 +289,8 @@ void MaemoDebugSupport::startDebugging() SLOT(handleRemoteProcessStarted())); } const QString &remoteExe = m_runner->remoteExecutable(); - const QString cmdPrefix = MaemoGlobal::remoteCommandPrefix(remoteExe); + const QString cmdPrefix = MaemoGlobal::remoteCommandPrefix(m_deviceConfig->osVersion(), + remoteExe); const QString env = MaemoGlobal::remoteEnvironment(m_userEnvChanges); QString args = m_runner->arguments(); if (m_debuggingType != MaemoRunConfiguration::DebugCppOnly) { diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp index 2cfbfba9995..4e076385971 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp @@ -113,10 +113,14 @@ QString MaemoGlobal::remoteSudo() return QLatin1String("/usr/lib/mad-developer/devrootsh"); } -QString MaemoGlobal::remoteCommandPrefix(const QString &commandFilePath) +QString MaemoGlobal::remoteCommandPrefix(MaemoVersion maemoVersion, + const QString &commandFilePath) { - return QString::fromLocal8Bit("%1 chmod a+x %2; %3; ") + QString prefix = QString::fromLocal8Bit("%1 chmod a+x %2; %3; ") .arg(remoteSudo(), commandFilePath, remoteSourceProfilesCommand()); + if (maemoVersion != Maemo5 && maemoVersion != Maemo6) + prefix += QLatin1String("DISPLAY=:0.0 "); + return prefix; } QString MaemoGlobal::remoteSourceProfilesCommand() diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h index 0daac02695f..c12beefd7b4 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h @@ -79,7 +79,8 @@ public: static QString homeDirOnDevice(const QString &uname); static QString remoteSudo(); - static QString remoteCommandPrefix(const QString &commandFilePath); + static QString remoteCommandPrefix(MaemoVersion maemoVersion, + const QString &commandFilePath); static QString remoteEnvironment(const QList &list); static QString remoteSourceProfilesCommand(); static QString failedToConnectToServerMessage(const QSharedPointer &connection, diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp index 9f3512e673c..9910380c070 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp @@ -102,7 +102,8 @@ void MaemoRunControl::startExecution() { appendMessage(tr("Starting remote process ..."), NormalMessageFormat); m_runner->startExecution(QString::fromLocal8Bit("%1 %2 %3 %4") - .arg(MaemoGlobal::remoteCommandPrefix(m_runner->remoteExecutable())) + .arg(MaemoGlobal::remoteCommandPrefix(m_runner->devConfig()->osVersion(), + m_runner->remoteExecutable())) .arg(MaemoGlobal::remoteEnvironment(m_runner->userEnvChanges())) .arg(m_runner->remoteExecutable()) .arg(m_runner->arguments()).toUtf8()); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.h b/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.h index edf436be95e..3c5708b72ca 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.h @@ -74,6 +74,7 @@ public: QString remoteExecutable() const { return m_remoteExecutable; } QString arguments() const { return m_appArguments; } QList userEnvChanges() const { return m_userEnvChanges; } + const QSharedPointer devConfig() const { return m_devConfig; } static const qint64 InvalidExitCode;