@@ -91,14 +91,14 @@ VisualizationWidget::VisualizationWidget(theatre::Management *management,
9191 sigc::mem_fun (*this , &VisualizationWidget::onButtonRelease));
9292 signal_motion_notify_event ().connect (
9393 sigc::mem_fun (*this , &VisualizationWidget::onMotion));
94- inializeContextMenu ();
94+ initializeContextMenu ();
9595 primary_snapshot_ = _management->PrimarySnapshot ();
9696 secondary_snapshot_ = _management->SecondarySnapshot ();
9797 update_connection_ = _eventTransmitter->SignalUpdateControllables ().connect (
9898 [&]() { Update (); });
9999}
100100
101- void VisualizationWidget::inializeContextMenu () {
101+ void VisualizationWidget::initializeContextMenu () {
102102 context_menu_.SignalSetFullOn .connect ([&]() {
103103 theatre::SetAllFixtures (*_management, _selectedFixtures, Color::White ());
104104 });
@@ -137,9 +137,10 @@ void VisualizationWidget::initialize() {
137137}
138138
139139void VisualizationWidget::onTheatreChanged () {
140- for (size_t i = _selectedFixtures.size (); i != 0 ; --i) {
141- if (!_management->GetTheatre ().Contains (*_selectedFixtures[i - 1 ]))
142- _selectedFixtures.erase (_selectedFixtures.begin () + i - 1 );
140+ const auto iter =
141+ std::remove (_selectedFixtures.begin (), _selectedFixtures.end (), nullptr );
142+ if (iter != _selectedFixtures.end ()) {
143+ _selectedFixtures.erase (iter, _selectedFixtures.end ());
143144 }
144145 Update ();
145146}
@@ -660,7 +661,6 @@ void VisualizationWidget::onDesignFixtures() {
660661 std::unique_ptr<DesignWizard> &designWizard = main_window_->GetDesignWizard ();
661662 designWizard = std::make_unique<DesignWizard>();
662663 designWizard->SetCurrentPath (main_window_->SelectedFolder ().FullPath ());
663- designWizard->Select (_selectedFixtures);
664664 designWizard->present ();
665665}
666666
0 commit comments