diff --git a/common/lc_model.cpp b/common/lc_model.cpp index c6cf9f08..7a39b2b5 100644 --- a/common/lc_model.cpp +++ b/common/lc_model.cpp @@ -2322,6 +2322,9 @@ void lcModel::UngroupSelection() std::set SelectedGroups; + BeginActionSequence(); + BeginObjectEditAction(); + for (const std::unique_ptr& Piece : mPieces) { if (Piece->IsSelected()) @@ -2343,15 +2346,15 @@ void lcModel::UngroupSelection() } } - if (!SelectedGroups.empty()) + if (SelectedGroups.empty()) { + DiscardActionSequence(); + QMessageBox::information(gMainWindow, tr("Ungroup Selection"), tr("No groups selected.")); + return; } - BeginActionSequence(); - BeginObjectEditAction(); - for (const std::unique_ptr& Piece : mPieces) { lcGroup* Group = Piece->GetGroup();