diff --git a/src/main.rs b/src/main.rs index 2551042..9a0c642 100644 --- a/src/main.rs +++ b/src/main.rs @@ -126,15 +126,9 @@ impl eframe::App for MyApp { if ui.button("Add").clicked() && self.new_roll_window.is_none() { self.new_roll_window = Some(NewRollWindow::default()); } - let mut to_close = Vec::new(); - for (i, roll_view_window) in self.roll_views.iter_mut().enumerate() { - if roll_view_window.draw(ctx, &mut self.state) { - to_close.push(i); - } - } - for i in to_close { - self.roll_views.remove(i); - } + self.roll_views.retain_mut(|win| { + !win.draw(ctx, &mut self.state) + }); if let Some(new_roll_window) = self.new_roll_window.as_mut() { if new_roll_window.draw(ctx, &mut self.state) { self.new_roll_window = None;