Fixed a segfault
authorTorste Aikio <zokier@scratchbox>
Mon, 31 May 2010 07:28:14 +0000 (10:28 +0300)
committerTorste Aikio <zokier@scratchbox>
Mon, 31 May 2010 07:28:14 +0000 (10:28 +0300)
src/selectremotedlg.cpp

index 6e4dd6e..15b5c02 100644 (file)
@@ -110,6 +110,7 @@ void SelectRemoteDlg::alphabetItemChanged(QListWidgetItem *current,
 void SelectRemoteDlg::mfgListDownloadFinished(QNetworkReply *reply)
 {
     mfgList->clear();
+    modelList->clear();
     if (reply->error() == QNetworkReply::NoError) {
         QByteArray ba = reply->readAll();
         QBuffer buf(&ba, this);
@@ -170,18 +171,20 @@ void SelectRemoteDlg::modelListDownloadFinished(QNetworkReply *reply)
 
 void SelectRemoteDlg::downloadRemote()
 {
-    QListWidgetItem *current = modelList->currentItem();
-    if (current)
+    QListWidgetItem *currentAlpha = alphabetList->currentItem();
+    QListWidgetItem *currentMfg   = mfgList->currentItem();
+    QListWidgetItem *currentModel = modelList->currentItem();
+    if (currentModel && currentMfg && currentAlpha)
     {
-        if (!current->text().isEmpty()) {
+        if (!currentModel->text().isEmpty()) {
             QString url = settings->value(
                     "remoteUrl",
                     "http://mercury.wipsl.com/irwi/remotes/").toString() 
-                    + alphabetList->currentItem()->text()
-                    + "/" + mfgList->currentItem()->text()
-                    + "/" + (*deviceNameMap)[current->text()];
+                    + currentAlpha->text()
+                    + "/" + currentMfg->text()
+                    + "/" + (*deviceNameMap)[currentModel->text()];
             beginDownload(url, remoteNetAM);
-            settings->setValue("remoteName", current->text());
+            settings->setValue("remoteName", currentModel->text());
         }
     }
 }