diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2020-05-19 18:01:29 +1000 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2020-05-19 18:05:14 +1000 |
commit | 36ac764133d3837a22619db922bd8d54f4b0938e (patch) | |
tree | 0128185188ab95ae95c172ca7f71fb521ecec960 /pkg/gui/tasks_adapter.go | |
parent | 003e45d2f5447d1f88e59e2f1edd85effeaae3ae (diff) |
fix race condition when scrolling to merge conflict
Diffstat (limited to 'pkg/gui/tasks_adapter.go')
-rw-r--r-- | pkg/gui/tasks_adapter.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/pkg/gui/tasks_adapter.go b/pkg/gui/tasks_adapter.go index f966f2eee..aa9f26f14 100644 --- a/pkg/gui/tasks_adapter.go +++ b/pkg/gui/tasks_adapter.go @@ -70,6 +70,26 @@ func (gui *Gui) newStringTask(viewName string, str string) error { return nil } +func (gui *Gui) newStringTaskWithoutScroll(viewName string, str string) error { + view, err := gui.g.View(viewName) + if err != nil { + return nil // swallowing for now + } + + manager := gui.getManager(view) + + f := func(stop chan struct{}) error { + gui.setViewContent(view, str) + return nil + } + + if err := manager.NewTask(f); err != nil { + return err + } + + return nil +} + func (gui *Gui) getManager(view *gocui.View) *tasks.ViewBufferManager { manager, ok := gui.viewBufferManagerMap[view.Name()] if !ok { |