From d38b5fcd61cdd06359d4637f1efd052660ebc1c6 Mon Sep 17 00:00:00 2001 From: Jinzhou Zhang Date: Wed, 1 Jul 2020 21:33:28 +0800 Subject: [PATCH] fix #326: preview not updated anymore --- src/previewer.rs | 7 ++----- src/selection.rs | 4 ++-- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/previewer.rs b/src/previewer.rs index e2323424..464572c3 100644 --- a/src/previewer.rs +++ b/src/previewer.rs @@ -33,7 +33,6 @@ pub struct Previewer { wrap: bool, prev_item: Option>, - prev_item_index: Option, prev_query: Option, prev_cmd_query: Option, prev_num_selected: usize, @@ -69,7 +68,6 @@ impl Previewer { wrap: false, prev_item: None, - prev_item_index: None, prev_query: None, prev_cmd_query: None, prev_num_selected: 0, @@ -103,11 +101,11 @@ impl Previewer { let new_query = new_query.into(); let new_cmd_query = new_cmd_query.into(); - let item_changed = match (self.prev_item_index.as_ref(), new_item.as_ref()) { + let item_changed = match (self.prev_item.as_ref(), new_item.as_ref()) { (None, None) => false, (None, Some(_)) => true, (Some(_), None) => true, - (Some(&prev_index), Some(_)) => prev_index == new_item_index, + (Some(prev), Some(new)) => !Arc::ptr_eq(prev, new), }; let query_changed = match (self.prev_query.as_ref(), new_query.as_ref()) { @@ -131,7 +129,6 @@ impl Previewer { } self.prev_item = new_item.clone(); - self.prev_item_index = Some(new_item_index); self.prev_query = new_query; self.prev_cmd_query = new_cmd_query; self.prev_num_selected = num_selected; diff --git a/src/selection.rs b/src/selection.rs index 105b0295..fad394de 100644 --- a/src/selection.rs +++ b/src/selection.rs @@ -566,14 +566,14 @@ fn build_compare_function(criterion: Vec) -> CompareFunction { if a.item.text().len() == b.item.text().len() { continue; } else { - return b.item.text().len().cmp(&a.item.text().len()) + return b.item.text().len().cmp(&a.item.text().len()); } } }