diff --git a/kernel/model/box.go b/kernel/model/box.go index 37a543411..b6a746560 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -350,7 +350,8 @@ func (box *Box) Unindex() { sql.RemoveBoxHash(tx, box.ID) sql.DeleteByBoxTx(tx, box.ID) sql.CommitTx(tx) - treenode.RemoveBlockTreesByBoxID(box.ID) + ids := treenode.RemoveBlockTreesByBoxID(box.ID) + RemoveRecentDoc(ids) } func (box *Box) ListFiles(path string) (ret []*FileInfo) { diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index d0a9d1f89..4b56896f3 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -175,11 +175,10 @@ func RemoveBlockTreesByPathPrefix(pathPrefix string) { blockTreesChanged = true } -func RemoveBlockTreesByBoxID(boxID string) { +func RemoveBlockTreesByBoxID(boxID string) (ids []string) { blockTreesLock.Lock() defer blockTreesLock.Unlock() - var ids []string for _, b := range blockTrees { if b.BoxID == boxID { ids = append(ids, b.ID) @@ -189,6 +188,7 @@ func RemoveBlockTreesByBoxID(boxID string) { delete(blockTrees, id) } blockTreesChanged = true + return } func RemoveBlockTree(id string) {