diff --git a/src/calibre/gui2/tag_browser/model.py b/src/calibre/gui2/tag_browser/model.py index 2d6f40690b..742f2b2776 100644 --- a/src/calibre/gui2/tag_browser/model.py +++ b/src/calibre/gui2/tag_browser/model.py @@ -188,12 +188,14 @@ class TagTreeItem(object): # {{{ def child_tags(self): res = [] - def recurse(nodes, res): + def recurse(nodes, res, depth): + if depth > 100: + return for t in nodes: if t.type != TagTreeItem.CATEGORY: res.append(t) - recurse(t.children, res) - recurse(self.children, res) + recurse(t.children, res, depth+1) + recurse(self.children, res, 1) return res # }}}