From 9228f45f7acae9d60e94976908cade5c5243364d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mikrut?= <41945903+qarmin@users.noreply.github.com> Date: Sun, 3 Dec 2023 13:11:09 +0100 Subject: [PATCH] Clear items via custom method instead broken builtin (#1112) --- .../src/connect_things/connect_button_search.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/czkawka_gui/src/connect_things/connect_button_search.rs b/czkawka_gui/src/connect_things/connect_button_search.rs index 603f43c..72c4784 100644 --- a/czkawka_gui/src/connect_things/connect_button_search.rs +++ b/czkawka_gui/src/connect_things/connect_button_search.rs @@ -830,5 +830,18 @@ fn bad_extensions_search( #[fun_time(message = "clean_tree_view", level = "debug")] fn clean_tree_view(tree_view: >k4::TreeView) { let list_store = get_list_store(tree_view); - list_store.clear(); + let mut all_iters = Vec::new(); + let first_iter = list_store.iter_first(); + if let Some(first_iter) = first_iter { + loop { + all_iters.push(first_iter); + if !list_store.iter_next(&first_iter) { + break; + } + } + } + all_iters.reverse(); + for iter in all_iters { + list_store.remove(&iter); + } }