diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2023-05-27 15:43:31 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2023-05-27 15:51:04 +0900 |
commit | 4c70745cc1c8856486dab9e07985cbcf5081e490 (patch) | |
tree | 84a742cb75d32c13142a9354e4aa40858abc0f07 /src/terminal.go | |
parent | 7795748a3f42e86a802cc9ea9569429892f47f95 (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.go | 7 |
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 { |