diff --git a/kernel/model/box.go b/kernel/model/box.go index f8a495525..a3347080d 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -562,7 +562,7 @@ func FullReindex() { openedBox.Index(true) } IndexRefs() - treenode.SaveBlockTree() + treenode.SaveBlockTree(true) InitFlashcards() util.PushEndlessProgress(Conf.Language(58)) diff --git a/kernel/model/conf.go b/kernel/model/conf.go index f96109f80..59e156322 100644 --- a/kernel/model/conf.go +++ b/kernel/model/conf.go @@ -424,7 +424,7 @@ func Close(force bool, execInstallPkg int) (exitCode int) { Conf.Close() sql.CloseDatabase() - treenode.SaveBlockTree() + treenode.SaveBlockTree(false) clearWorkspaceTemp() clearPortJSON() util.UnlockWorkspace() @@ -601,7 +601,7 @@ func InitBoxes() { } if !initialized { - treenode.SaveBlockTree() + treenode.SaveBlockTree(true) } var dbSize string diff --git a/kernel/model/mount.go b/kernel/model/mount.go index ad35cebda..a3c72b5e0 100644 --- a/kernel/model/mount.go +++ b/kernel/model/mount.go @@ -199,7 +199,7 @@ func Mount(boxID string) (alreadyMount bool, err error) { IndexRefs() // 缓存根一级的文档树展开 ListDocTree(box.ID, "/", Conf.FileTree.Sort) - treenode.SaveBlockTree() + treenode.SaveBlockTree(false) util.ClearPushProgress(100) if reMountGuide { return true, nil diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index bae71b186..de5bc4ef8 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -259,7 +259,7 @@ func IndexBlockTree(tree *parse.Tree) { func AutoFlushBlockTree() { for { - SaveBlockTree() + SaveBlockTree(false) time.Sleep(7 * time.Second) } } @@ -307,8 +307,8 @@ func InitBlockTree(force bool) { return } -func SaveBlockTree() { - if !blockTreesChanged { +func SaveBlockTree(force bool) { + if !force && !blockTreesChanged { return }