Fix segmentation fault when editing address not in address book (issue #615)
authorWladimir J. van der Laan <laanwj@gmail.com>
Tue, 8 Nov 2011 18:54:16 +0000 (19:54 +0100)
committerWladimir J. van der Laan <laanwj@gmail.com>
Tue, 8 Nov 2011 18:54:16 +0000 (19:54 +0100)
src/qt/editaddressdialog.cpp
src/qt/editaddressdialog.h
src/qt/transactionview.cpp

index b8e6fe4..457e8cf 100644 (file)
@@ -113,3 +113,9 @@ QString EditAddressDialog::getAddress() const
 {
     return address;
 }
+
+void EditAddressDialog::setAddress(const QString &address)
+{
+    this->address = address;
+    ui->addressEdit->setText(address);
+}
index 81086a4..9c9769d 100644 (file)
@@ -33,6 +33,7 @@ public:
     void accept();
 
     QString getAddress() const;
+    void setAddress(const QString &address);
 private:
     bool saveCurrentRow();
 
index 92dda57..d39227c 100644 (file)
@@ -322,6 +322,8 @@ void TransactionView::editLabel()
             // If this transaction has no associated address, exit
             return;
         }
+        // Is address in address book? Address book can miss address when a transaction is
+        // sent from outside the UI.
         int idx = addressBook->lookupAddress(address);
         if(idx != -1)
         {
@@ -343,6 +345,8 @@ void TransactionView::editLabel()
             // Add sending address
             EditAddressDialog dlg(EditAddressDialog::NewSendingAddress,
                                   this);
+            dlg.setModel(addressBook);
+            dlg.setAddress(address);
             dlg.exec();
         }
     }