From 432ac985e7e7681a94841859e9a065d1dd85177c Mon Sep 17 00:00:00 2001 From: mwganson Date: Fri, 2 Oct 2020 17:04:00 -0500 Subject: [PATCH] [PartDesign Multitransform] prevent crash when pressing delete key without feature selected to remove in multitransform dialog --- src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp index a3f5c3b6c9..d01394c53b 100644 --- a/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp @@ -196,10 +196,15 @@ void TaskMultiTransformParameters::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 Multitransform: 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(); }