From 8f37b81d96db3112dafc7eb71539101ce4d8c737 Mon Sep 17 00:00:00 2001 From: Eduardo Flores Date: Wed, 24 Nov 2021 18:19:29 -0700 Subject: [PATCH] Better way to clear GtkListBox --- examples/launcher/main.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/launcher/main.rs b/examples/launcher/main.rs index cf0db87c..0c79bc91 100644 --- a/examples/launcher/main.rs +++ b/examples/launcher/main.rs @@ -69,7 +69,7 @@ fn main() { search.set_placeholder_text(Some(" Type to search apps, or type '?' for more options.")); vbox.append(&search); - let listbox = gtk::ListBox::new(); + let mut listbox = gtk::ListBox::new(); vbox.append(&listbox); { @@ -110,10 +110,11 @@ fn main() { while let Some(event) = rx.recv().await { match event { Event::Search(search) => { - //TODO: is this the best way to clear a listbox? - while let Some(child) = listbox.last_child() { - listbox.remove(&child); + if let Some(child) = vbox.last_child() { + vbox.remove(&child); } + listbox = gtk::ListBox::new(); + vbox.append(&listbox); let _ = launcher.send(pop_launcher::Request::Search(search)).await; }