diff options
-rw-r--r-- | tagit/widgets/browser.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/tagit/widgets/browser.py b/tagit/widgets/browser.py index 28f7440..8445706 100644 --- a/tagit/widgets/browser.py +++ b/tagit/widgets/browser.py @@ -171,7 +171,8 @@ class Browser(GridLayout, StorageAwareMixin, ConfigAwareMixin): """ # get groups and their shadow (group's members in items) groups = defaultdict(set) - for obj, grp in reduce(operator.add, items).group(node=True, view=list): + all_items = reduce(operator.add, items, self.root.session.storage.empty(ns.bsfs.File)) + for obj, grp in all_items.group(node=True, view=list): groups[grp].add(obj) # don't fold groups if few members @@ -218,7 +219,7 @@ class Browser(GridLayout, StorageAwareMixin, ConfigAwareMixin): unfolded |= self.folds[itm].shadow else: unfolded |= {itm} - return reduce(operator.add, unfolded) # FIXME: What if items is empty? + return reduce(operator.add, unfolded, self.root.session.storage.empty(ns.bsfs.File)) def neighboring_unselected(self): """Return the item closest to the cursor and not being selected. May return None.""" |