From 5ba1569734be25f5f696b85c79788392a12bb0a3 Mon Sep 17 00:00:00 2001 From: Galen Abell Date: Tue, 25 Feb 2020 16:35:57 -0500 Subject: Ensure new directory exists before unwatching old --- worker/maildir/worker.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/worker/maildir/worker.go b/worker/maildir/worker.go index 1df4e09..3c15f2c 100644 --- a/worker/maildir/worker.go +++ b/worker/maildir/worker.go @@ -236,6 +236,12 @@ func (w *Worker) handleListDirectories(msg *types.ListDirectories) error { func (w *Worker) handleOpenDirectory(msg *types.OpenDirectory) error { w.worker.Logger.Printf("opening %s", msg.Directory) + // open the directory + dir, err := w.c.OpenDirectory(msg.Directory) + if err != nil { + return err + } + // remove existing watch path if w.selected != nil { prevDir := filepath.Join(string(*w.selected), "new") @@ -244,11 +250,6 @@ func (w *Worker) handleOpenDirectory(msg *types.OpenDirectory) error { } } - // open the directory - dir, err := w.c.OpenDirectory(msg.Directory) - if err != nil { - return err - } w.selected = &dir w.selectedName = msg.Directory -- cgit v1.2.3