From 520108cbc89183630fef886e60ed5899b20a7478 Mon Sep 17 00:00:00 2001
From: Christiaan Janssen <christiaan.janssen@nokia.com>
Date: Wed, 31 Mar 2010 10:36:01 +0200
Subject: [PATCH] Fix crash when restoring old .qmlproject files

The run configuration id changed, leaving restored qmlproject without
any run configuration.

Reviewed-by: kkoehne
---
 src/plugins/qmlprojectmanager/qmlprojectconstants.h | 2 --
 src/plugins/qmlprojectmanager/qmlprojecttarget.cpp  | 6 ++++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/plugins/qmlprojectmanager/qmlprojectconstants.h b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
index ebf39208b02..dcd3681e335 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectconstants.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
@@ -37,8 +37,6 @@ const char *const PROJECTCONTEXT     = "QmlProject.ProjectContext";
 const char *const LANG_QML           = "QML";
 const char *const QMLMIMETYPE        = "application/x-qmlproject";
 
-const char *const QMLRUNCONFIGURATION = "QmlProject.QmlLocalApplicationRunConfiguration";
-
 // contexts
 const char *const C_FILESEDITOR      = ".files Editor";
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
index fcff2b9aca3..c7bf7dee25d 100644
--- a/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojecttarget.cpp
@@ -33,6 +33,7 @@
 #include "qmlprojectmanagerconstants.h"
 #include "qmlprojectrunconfiguration.h"
 
+#include <QtCore/QDebug>
 #include <QtGui/QApplication>
 #include <QtGui/QStyle>
 
@@ -67,6 +68,11 @@ bool QmlProjectTarget::fromMap(const QVariantMap &map)
     if (!Target::fromMap(map))
         return false;
 
+    if (runConfigurations().isEmpty()) {
+        qWarning() << "Failed to restore run configuration of QML project!";
+        return false;
+    }
+
     setDisplayName(QApplication::translate("QmlProjectManager::QmlTarget",
                                            Constants::QML_VIEWER_TARGET_DISPLAY_NAME,
                                            "QML Runtime target display name"));
-- 
GitLab