summaryrefslogtreecommitdiffstats
path: root/src/terminal.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2023-05-27 15:43:31 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2023-05-27 15:51:04 +0900
commit4c70745cc1c8856486dab9e07985cbcf5081e490 (patch)
tree84a742cb75d32c13142a9354e4aa40858abc0f07 /src/terminal.go
parent7795748a3f42e86a802cc9ea9569429892f47f95 (diff)
Fix bug where preview is not updated after reload when --disabled is set
Fix #3311
Diffstat (limited to 'src/terminal.go')
-rw-r--r--src/terminal.go7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/terminal.go b/src/terminal.go
index 7f6adade..3179d929 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -228,6 +228,7 @@ type Terminal struct {
merger *Merger
selected map[int32]selectedItem
version int64
+ revision int
reqBox *util.EventBox
initialPreviewOpts previewOpts
previewOpts previewOpts
@@ -644,7 +645,7 @@ func NewTerminal(opts *Options, eventBox *util.EventBox) *Terminal {
jumpLabels: opts.JumpLabels,
printer: opts.Printer,
printsep: opts.PrintSep,
- merger: EmptyMerger,
+ merger: EmptyMerger(0),
selected: make(map[int32]selectedItem),
reqBox: util.NewEventBox(),
initialPreviewOpts: opts.Preview,
@@ -930,9 +931,10 @@ func (t *Terminal) UpdateProgress(progress float32) {
}
// UpdateList updates Merger to display the list
-func (t *Terminal) UpdateList(merger *Merger, reset bool) {
+func (t *Terminal) UpdateList(merger *Merger) {
t.mutex.Lock()
var prevIndex int32 = -1
+ reset := t.revision != merger.Revision()
if !reset && t.track != trackDisabled {
if t.merger.Length() > 0 {
prevIndex = t.merger.Get(t.cy).item.Index()
@@ -944,6 +946,7 @@ func (t *Terminal) UpdateList(merger *Merger, reset bool) {
t.merger = merger
if reset {
t.selected = make(map[int32]selectedItem)
+ t.revision = merger.Revision()
t.version++
}
if t.triggerLoad {