fix: Set cluster master without sigsev

GitHub: fixes #104
This commit is contained in:
Sirius Bakke 2020-05-02 12:22:13 +02:00
parent 1238a76f90
commit 6d731bae98
1 changed files with 14 additions and 8 deletions

View File

@ -491,17 +491,23 @@ void clusterMembersDialog::masterSelected(int row, int column)
<< ", " << column << ")";
}
QList<QTableWidgetItem *> itemlist;
itemlist = m_dialog->fwSelectedTable->selectedItems();
QTableWidget * fwSelectedTable = m_dialog->fwSelectedTable;
if (itemlist[2]->checkState() == Qt::Checked)
{
setMaster(itemlist[0]->text());
bool noMasterSelected = true;
for (int rowIdx = 0; rowIdx < fwSelectedTable->rowCount(); ++rowIdx) {
if (fwSelectedTable->item(rowIdx, 2)->checkState() == Qt::Checked) {
noMasterSelected = false;
break;
}
}
else
{
setMaster(itemlist[0]->text(), false);
if (noMasterSelected) {
fwSelectedTable->item(row, 2)->setCheckState(Qt::Checked);
}
QTableWidgetItem *itemName = fwSelectedTable->item(row, 0);
QTableWidgetItem *itemMasterCheckBox = fwSelectedTable->item(row, column);
setMaster(itemName->text(), itemMasterCheckBox->checkState() == Qt::Checked);
}
}