From bf15a82ef570e476ca38b1d5cd7f210b0b60538e Mon Sep 17 00:00:00 2001 From: "DERPPC\\Joe" Date: Wed, 23 Aug 2017 02:35:18 +0300 Subject: [PATCH] Fixed SEGFAULT on thread removal Function selectedItems() returns list of pointers to cells not rows. Therefore we only need to check contents of first cell. --- forms/settingspane.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/forms/settingspane.cpp b/forms/settingspane.cpp index e6f403134..22d2ddddc 100644 --- a/forms/settingspane.cpp +++ b/forms/settingspane.cpp @@ -122,14 +122,14 @@ void SettingsPane::on_shopsWidget_currentItemChanged(QTableWidgetItem *current, } void SettingsPane::on_removeShopButton_clicked() { - auto items = ui->shopsWidget->selectedItems(); - for (auto item : items) { - int row = item->row(); - QString threadId = ui->shopsWidget->item(row, 0)->text(); - ui->shopsWidget->removeRow(row); - shopThreadIds.remove(row); - app_->shop().RemoveShop(threadId); - } + auto cells = ui->shopsWidget->selectedItems(); + + QString threadID = cells[0]->text(); + int row = cells[0]->row(); + + ui->shopsWidget->removeRow(row); + shopThreadIds.remove(row); + app_->shop().RemoveShop(threadID); } void SettingsPane::on_shopsWidget_itemChanged(QTableWidgetItem *item) {