diff --git a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp index 07bd468428..fa671abd87 100644 --- a/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp @@ -366,9 +366,15 @@ void TaskLinearPatternParameters::onFeatureDeleted(void) PartDesign::Transformed* pcTransformed = getObject(); std::vector originals = pcTransformed->Originals.getValues(); originals.erase(originals.begin() + ui->listWidgetFeatures->currentRow()); + int currentRow = ui->listWidgetFeatures->currentRow(); + if (currentRow < 0) { + Base::Console().Error("PartDesign LinearPattern: 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(); } diff --git a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp index 5471b29fc0..94e7098ef8 100644 --- a/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp @@ -357,9 +357,15 @@ void TaskPolarPatternParameters::onFeatureDeleted(void) PartDesign::Transformed* pcTransformed = getObject(); std::vector originals = pcTransformed->Originals.getValues(); originals.erase(originals.begin() + ui->listWidgetFeatures->currentRow()); + int currentRow = ui->listWidgetFeatures->currentRow(); + if (currentRow < 0) { + Base::Console().Error("PartDesign PolarPattern: 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(); }