소스 검색

:bug: The maximum number of tags listed is incorrect https://github.com/siyuan-note/siyuan/issues/11320

Daniel 1 년 전
부모
커밋
0763b550ef
1개의 변경된 파일4개의 추가작업 그리고 5개의 파일을 삭제
  1. 4 5
      kernel/model/tag.go

+ 4 - 5
kernel/model/tag.go

@@ -226,7 +226,7 @@ func BuildTags() (ret *Tags) {
 	tmp := &Tags{}
 	tmp := &Tags{}
 	for _, tag := range tags {
 	for _, tag := range tags {
 		*tmp = append(*tmp, tag)
 		*tmp = append(*tmp, tag)
-		total += countTag(tag)
+		countTag(tag, &total)
 		if Conf.FileTree.MaxListCount < total {
 		if Conf.FileTree.MaxListCount < total {
 			util.PushMsg(fmt.Sprintf(Conf.Language(243), Conf.FileTree.MaxListCount), 7000)
 			util.PushMsg(fmt.Sprintf(Conf.Language(243), Conf.FileTree.MaxListCount), 7000)
 			break
 			break
@@ -237,12 +237,11 @@ func BuildTags() (ret *Tags) {
 	return
 	return
 }
 }
 
 
-func countTag(tag *Tag) int {
-	count := 1
+func countTag(tag *Tag, total *int) {
+	*total += 1
 	for _, child := range tag.tags {
 	for _, child := range tag.tags {
-		count += countTag(child)
+		countTag(child, total)
 	}
 	}
-	return count + tag.Count
 }
 }
 
 
 func sortTags(tags Tags) {
 func sortTags(tags Tags) {