OSDN Git Service

Maemo: Fix issue with cached device configuration.
authorChristian Kandeler <christian.kandeler@nokia.com>
Thu, 21 Apr 2011 08:53:25 +0000 (10:53 +0200)
committerChristian Kandeler <christian.kandeler@nokia.com>
Thu, 21 Apr 2011 09:11:14 +0000 (11:11 +0200)
External functions need to access the real device config,
internal ones need the cached one during deployment.

Task-number: QTCREATORBUG-4514

src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.cpp
src/plugins/qt4projectmanager/qt-maemo/abstractmaemodeploystep.h
src/plugins/qt4projectmanager/qt-maemo/maemodeploybymountstep.cpp
src/plugins/qt4projectmanager/qt-maemo/maemodirectdeviceuploadstep.cpp

index b6d5773..7c707ec 100644 (file)
@@ -396,9 +396,12 @@ void AbstractMaemoDeployStep::handleRemoteStderr(const QString &output)
 
 MaemoPortList AbstractMaemoDeployStep::freePorts() const
 {
+    return freePorts(m_deviceConfig);
+}
+
+MaemoPortList AbstractMaemoDeployStep::freePorts(const MaemoDeviceConfig::ConstPtr &devConf) const
+{
     const Qt4BuildConfiguration * const qt4bc = qt4BuildConfiguration();
-    const MaemoDeviceConfig::ConstPtr &devConf
-        = m_cachedDeviceConfig ? m_cachedDeviceConfig : m_deviceConfig;
     if (!devConf)
         return MaemoPortList();
     if (devConf->type() == MaemoDeviceConfig::Emulator && qt4bc) {
index 9e200a4..4386a05 100644 (file)
@@ -97,7 +97,9 @@ protected:
 
     QString deployMountPoint() const;
     const Qt4BuildConfiguration *qt4BuildConfiguration() const;
+    MaemoPortList freePorts(const QSharedPointer<const MaemoDeviceConfig> &devConfig) const;
     QSharedPointer<Utils::SshConnection> connection() const { return m_connection; }
+    QSharedPointer<const MaemoDeviceConfig> cachedDeviceConfig() const { return m_cachedDeviceConfig; }
 
 private slots:
     void start();
index 4d63bc9..f32173e 100644 (file)
@@ -153,8 +153,8 @@ void AbstractMaemoDeployByMountStep::handleMountDebugOutput(const QString &outpu
 void AbstractMaemoDeployByMountStep::mount()
 {
     m_extendedState = Mounting;
-    m_mounter->setupMounts(connection(), mountSpecifications(), freePorts(),
-        qt4BuildConfiguration());
+    m_mounter->setupMounts(connection(), mountSpecifications(),
+        freePorts(cachedDeviceConfig()), qt4BuildConfiguration());
 }
 
 QString AbstractMaemoDeployByMountStep::deployMountPoint() const
index b7a1b1c..1165ccb 100644 (file)
@@ -153,7 +153,7 @@ void MaemoDirectDeviceUploadStep::handleMkdirFinished(int exitStatus)
         raiseError(tr("Failed to upload file '%1'.").arg(nativePath));
         setFinished();
     } else if (fi.isDir()) {
-        setDeployed(deviceConfig()->sshParameters().host, d);
+        setDeployed(cachedDeviceConfig()->sshParameters().host, d);
         m_filesToUpload.removeFirst();
         uploadNextFile();
     } else {