diff --git a/sources/editor/elementscene.cpp b/sources/editor/elementscene.cpp index 82584ace3..f2346bd9a 100644 --- a/sources/editor/elementscene.cpp +++ b/sources/editor/elementscene.cpp @@ -745,9 +745,19 @@ void ElementScene::addItems(QVector items) */ void ElementScene::removeItems(QVector items) { + const int previous_selected_count{selectedItems().size()}; + + //block signal to avoid multiple emit of selection changed, + //we emit this signal only once at the end of this function. + blockSignals(true); for (const auto &item : items) { removeItem(item); } + blockSignals(false); + + if (previous_selected_count != selectedItems().size()) { + emit selectionChanged(); + } emit partsRemoved(); }