From 77503b4ffbd8e380640a0a6e4ec381b21953ba2f Mon Sep 17 00:00:00 2001 From: pjht Date: Tue, 30 May 2023 15:03:05 -0500 Subject: [PATCH] Refactor code to remove closed windows --- src/main.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) 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;