From 10ebfa6d8e3865b6ca0a4b3ece5c3674a9317a9d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:49:28 +0200 Subject: [PATCH] few enhancements --- .../tools/publisher/widgets/list_view_widgets.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/client/ayon_core/tools/publisher/widgets/list_view_widgets.py b/client/ayon_core/tools/publisher/widgets/list_view_widgets.py index 9ea0f85bcb..86df4223a4 100644 --- a/client/ayon_core/tools/publisher/widgets/list_view_widgets.py +++ b/client/ayon_core/tools/publisher/widgets/list_view_widgets.py @@ -1046,10 +1046,9 @@ class InstanceListView(AbstractInstanceView): children_ids, parent_active = _queue.popleft() for instance_id in children_ids: widget = self._widgets_by_id[instance_id] - # Add children ids to 'instance_ids' to traverse them too - add_children = False + # Parent active state changed -> traverse children too + add_children = False if instance_id in instance_ids: - # Parent active state changed -> traverse children too add_children = ( parent_active is not widget.is_parent_active() ) @@ -1069,16 +1068,11 @@ class InstanceListView(AbstractInstanceView): add_children = True if not add_children: + if not instance_ids: + break continue - _children = { - child_id - for child_id in ( - self._instance_ids_by_parent_id[instance_id] - ) - if child_id not in discarted_ids - } - + _children = set(self._instance_ids_by_parent_id[instance_id]) if _children: instance_ids |= _children _queue.append((_children, widget.is_active()))