PartDesign: [skip ci] Prevent crash when pressing delete key without feature selected to remove in mirror and scale pattern dialog

This commit is contained in:
wmayer
2020-10-12 18:56:12 +02:00
parent 2236c50e57
commit 5d82ef08c9
2 changed files with 14 additions and 4 deletions

View File

@@ -280,10 +280,15 @@ void TaskMirroredParameters::onFeatureDeleted(void)
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
originals.erase(originals.begin() + ui->listWidgetFeatures->currentRow());
int currentRow = ui->listWidgetFeatures->currentRow();
if (currentRow < 0) {
Base::Console().Error("PartDesign MirroredPattern: No feature selected for removing.\n");
return; //no current row selected
}
originals.erase(originals.begin() + currentRow);
setupTransaction();
pcTransformed->Originals.setValues(originals);
ui->listWidgetFeatures->model()->removeRow(ui->listWidgetFeatures->currentRow());
ui->listWidgetFeatures->model()->removeRow(currentRow);
recomputeFeature();
}

View File

@@ -219,9 +219,14 @@ void TaskScaledParameters::onFeatureDeleted(void)
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
originals.erase(originals.begin() + ui->listWidgetFeatures->currentRow());
int currentRow = ui->listWidgetFeatures->currentRow();
if (currentRow < 0) {
Base::Console().Error("PartDesign ScaledPattern: No feature selected for removing.\n");
return; //no current row selected
}
originals.erase(originals.begin() + currentRow);
pcTransformed->Originals.setValues(originals);
ui->listWidgetFeatures->model()->removeRow(ui->listWidgetFeatures->currentRow());
ui->listWidgetFeatures->model()->removeRow(currentRow);
recomputeFeature();
}