OSDN Git Service

Maemo: Make shared pointer an actual QSharedPointer.
authorChristian Kandeler <christian.kandeler@nokia.com>
Tue, 26 Apr 2011 14:48:45 +0000 (16:48 +0200)
committerChristian Kandeler <christian.kandeler@nokia.com>
Tue, 26 Apr 2011 14:49:00 +0000 (16:49 +0200)
Pointer was left dangling when a deploy configuration was removed.

src/plugins/qt4projectmanager/qt-maemo/abstractlinuxdevicedeploystep.cpp
src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
src/plugins/qt4projectmanager/qt-maemo/maemopertargetdeviceconfigurationlistmodel.cpp
src/plugins/qt4projectmanager/qt-maemo/maemopertargetdeviceconfigurationlistmodel.h
src/plugins/qt4projectmanager/qt-maemo/qt4maemodeployconfiguration.cpp
src/plugins/qt4projectmanager/qt-maemo/qt4maemodeployconfiguration.h

index 57c004a..f71dd63 100644 (file)
@@ -69,7 +69,7 @@ LinuxDeviceDeployStepHelper::LinuxDeviceDeployStepHelper(Qt4MaemoDeployConfigura
     : m_deployConfiguration(dc)
 {
     m_deviceConfig = dc->deviceConfigModel()->defaultDeviceConfig();
-    connect(dc->deviceConfigModel(), SIGNAL(updated()),
+    connect(dc->deviceConfigModel().data(), SIGNAL(updated()),
         SLOT(handleDeviceConfigurationsUpdated()));
 }
 
index 38e531a..eed2bee 100644 (file)
@@ -73,7 +73,7 @@ MaemoDeployStepBaseWidget::~MaemoDeployStepBaseWidget()
 
 void MaemoDeployStepBaseWidget::init()
 {
-    ui->deviceConfigComboBox->setModel(m_step->maemoDeployConfig()->deviceConfigModel());
+    ui->deviceConfigComboBox->setModel(m_step->maemoDeployConfig()->deviceConfigModel().data());
     connect(&m_step->helper(), SIGNAL(deviceConfigChanged()),
         SLOT(handleDeviceUpdate()));
     handleDeviceUpdate();
index 12f7bb4..6e187e4 100644 (file)
@@ -55,6 +55,10 @@ MaemoPerTargetDeviceConfigurationListModel::MaemoPerTargetDeviceConfigurationLis
     connect(devConfs, SIGNAL(updated()), this, SIGNAL(updated()));
 }
 
+MaemoPerTargetDeviceConfigurationListModel::~MaemoPerTargetDeviceConfigurationListModel()
+{
+}
+
 int MaemoPerTargetDeviceConfigurationListModel::rowCount(const QModelIndex &parent) const
 {
     if (parent.isValid())
index 5e49998..f6ecbe4 100644 (file)
@@ -49,6 +49,7 @@ class MaemoPerTargetDeviceConfigurationListModel : public QAbstractListModel
 public:
     explicit MaemoPerTargetDeviceConfigurationListModel(QObject *parent, const
         ProjectExplorer::Target *target);
+    ~MaemoPerTargetDeviceConfigurationListModel();
 
     virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;
     virtual QVariant data(const QModelIndex &index,
index ca7f352..6a9bc22 100644 (file)
@@ -36,7 +36,6 @@
 #include "maemodeployconfigurationwidget.h"
 #include "maemodeployables.h"
 #include "maemoinstalltosysrootstep.h"
-#include "maemopertargetdeviceconfigurationlistmodel.h"
 #include "maemopackagecreationstep.h"
 #include "maemouploadandinstalldeploystep.h"
 #include "qt4maemotarget.h"
@@ -75,7 +74,8 @@ Qt4MaemoDeployConfiguration::Qt4MaemoDeployConfiguration(Target *target,
     }
     if (!m_deployables) {
         m_deployables = QSharedPointer<MaemoDeployables>(new MaemoDeployables(qobject_cast<Qt4BaseTarget *>(target)));
-        m_devConfModel = new MaemoPerTargetDeviceConfigurationListModel(this, target);
+        m_devConfModel = QSharedPointer<MaemoPerTargetDeviceConfigurationListModel>
+            (new MaemoPerTargetDeviceConfigurationListModel(0, target));
     }
 }
 
index 7493229..a142750 100644 (file)
@@ -34,6 +34,7 @@
 #define QT4PROJECTMANAGER_QT4DEPLOYCONFIGURATION_H
 
 #include"maemodeployables.h"
+#include "maemopertargetdeviceconfigurationlistmodel.h"
 
 #include <projectexplorer/deployconfiguration.h>
 
@@ -53,7 +54,7 @@ public:
     virtual ProjectExplorer::DeployConfigurationWidget *configurationWidget() const;
 
     QSharedPointer<MaemoDeployables> deployables() const { return m_deployables; }
-    MaemoPerTargetDeviceConfigurationListModel *deviceConfigModel() const { return m_devConfModel; }
+    QSharedPointer<MaemoPerTargetDeviceConfigurationListModel> deviceConfigModel() const { return m_devConfModel; }
 
     static const QString FremantleWithPackagingId;
     static const QString FremantleWithoutPackagingId;
@@ -70,7 +71,7 @@ private:
         ProjectExplorer::DeployConfiguration *source);
 
     QSharedPointer<MaemoDeployables> m_deployables;
-    MaemoPerTargetDeviceConfigurationListModel *m_devConfModel;
+    QSharedPointer<MaemoPerTargetDeviceConfigurationListModel> m_devConfModel;
 };