From 7f3b40a9ca59bd1e3e7add127d380528d80a4642 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 27 Jan 2018 17:08:49 +0100 Subject: [PATCH] fix crash when deleting constraint --- src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp index a6d88f352d..c1f65adfae 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstrains.cpp @@ -769,10 +769,6 @@ void TaskSketcherConstrains::slotConstraintsChanged(void) it->ConstraintNbr = i; it->value = QVariant(); - - ui->listWidgetConstraints->blockSignals(true); - it->updateVirtualSpaceStatus(); - ui->listWidgetConstraints->blockSignals(false); } /* Remove entries, if any */ @@ -783,6 +779,14 @@ void TaskSketcherConstrains::slotConstraintsChanged(void) for (std::size_t i = ui->listWidgetConstraints->count(); i < vals.size(); ++i) ui->listWidgetConstraints->addItem(new ConstraintItem(sketch, sketchView, i)); + /* Update the states */ + ui->listWidgetConstraints->blockSignals(true); + for (int i = 0; i < ui->listWidgetConstraints->count(); ++i) { + ConstraintItem * it = dynamic_cast(ui->listWidgetConstraints->item(i)); + it->updateVirtualSpaceStatus(); + } + ui->listWidgetConstraints->blockSignals(false); + /* Update filtering */ int Filter = ui->comboBoxFilter->currentIndex(); for(std::size_t i = 0; i < vals.size(); ++i) {