From 563b8dc7bfd9fb59598bb1f3971fc2e71e950ee5 Mon Sep 17 00:00:00 2001
From: Christian Kandeler <christian.kandeler@nokia.com>
Date: Wed, 10 Nov 2010 11:15:19 +0100
Subject: [PATCH] Maemo: Don't try to re-run run control when run configuration
 is gone.

Quick fix for 2.1.
Proper fix is to copy all relevant information at run control creation time.

Task-number: https://projects.maemo.org/bugzilla/show_bug.cgi?id=203698
Reviewed-by: dt
---
 src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp | 2 ++
 src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h   | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index a71277ee17..74c3fd1d90 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -71,6 +71,8 @@ void MaemoRunControl::start()
 {
     if (!m_devConfig.isValid()) {
         handleError(tr("No device configuration set for run configuration."));
+    } else if (!m_runConfig) {
+        handleError(tr("Run configuration no longer available."));
     } else {
         m_running = true;
         emit started();
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
index 4f8edb6da9..111fc99465 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
@@ -39,6 +39,7 @@
 
 #include <projectexplorer/runconfiguration.h>
 
+#include <QtCore/QPointer>
 #include <QtCore/QString>
 
 namespace Qt4ProjectManager {
@@ -71,7 +72,7 @@ private:
     void setFinished();
     void handleError(const QString &errString);
 
-    MaemoRunConfiguration *m_runConfig; // TODO this pointer can be invalid
+    QPointer<MaemoRunConfiguration> m_runConfig;
     const MaemoDeviceConfig m_devConfig;
     MaemoSshRunner * const m_runner;
     bool m_running;
-- 
GitLab