DeviceUserArgs: UI: fixed possible segfault when tree item pointer is null

This commit is contained in:
f4exb 2019-06-30 04:19:28 +02:00
parent e317b06fc9
commit ae787a2768
1 changed files with 24 additions and 12 deletions

View File

@ -123,20 +123,28 @@ void DeviceUserArgsDialog::on_importDevice_clicked(bool checked)
{ {
(void) checked; (void) checked;
QTreeWidgetItem *deviceItem = ui->deviceTree->currentItem(); QTreeWidgetItem *deviceItem = ui->deviceTree->currentItem();
bool ok;
int sequence = deviceItem->text(1).toInt(&ok); if (deviceItem)
m_deviceUserArgsCopy.addDeviceArgs(deviceItem->text(0), sequence, ""); {
displayArgsByDevice(); bool ok;
int sequence = deviceItem->text(1).toInt(&ok);
m_deviceUserArgsCopy.addDeviceArgs(deviceItem->text(0), sequence, "");
displayArgsByDevice();
}
} }
void DeviceUserArgsDialog::on_deleteArgs_clicked(bool checked) void DeviceUserArgsDialog::on_deleteArgs_clicked(bool checked)
{ {
(void) checked; (void) checked;
QTreeWidgetItem *deviceItem = ui->argsTree->currentItem(); QTreeWidgetItem *deviceItem = ui->argsTree->currentItem();
bool ok;
int sequence = deviceItem->text(1).toInt(&ok); if (deviceItem)
m_deviceUserArgsCopy.deleteDeviceArgs(deviceItem->text(0), sequence); {
displayArgsByDevice(); bool ok;
int sequence = deviceItem->text(1).toInt(&ok);
m_deviceUserArgsCopy.deleteDeviceArgs(deviceItem->text(0), sequence);
displayArgsByDevice();
}
} }
void DeviceUserArgsDialog::on_argsTree_currentItemChanged(QTreeWidgetItem* currentItem, QTreeWidgetItem* previousItem) void DeviceUserArgsDialog::on_argsTree_currentItemChanged(QTreeWidgetItem* currentItem, QTreeWidgetItem* previousItem)
@ -148,8 +156,12 @@ void DeviceUserArgsDialog::on_argsTree_currentItemChanged(QTreeWidgetItem* curre
void DeviceUserArgsDialog::on_argStringEdit_editingFinished() void DeviceUserArgsDialog::on_argStringEdit_editingFinished()
{ {
QTreeWidgetItem *deviceItem = ui->argsTree->currentItem(); QTreeWidgetItem *deviceItem = ui->argsTree->currentItem();
bool ok;
int sequence = deviceItem->text(1).toInt(&ok); if (deviceItem)
m_deviceUserArgsCopy.updateDeviceArgs(deviceItem->text(0), sequence, ui->argStringEdit->text()); {
displayArgsByDevice(); bool ok;
int sequence = deviceItem->text(1).toInt(&ok);
m_deviceUserArgsCopy.updateDeviceArgs(deviceItem->text(0), sequence, ui->argStringEdit->text());
displayArgsByDevice();
}
} }