diff --git a/pyblish_lite/model.py b/pyblish_lite/model.py index 1a85b1a..a24a32c 100644 --- a/pyblish_lite/model.py +++ b/pyblish_lite/model.py @@ -511,6 +511,11 @@ def update_instances(self): for idx in reversed(remove_indexes): self.items.pop(idx) + for item in self.items: + item.data["_is_idle"] = True + item.data["_has_succeeded"] = False + item.data["_has_processed"] = False + def data(self, index, role): # This is because of bug without known cause # - on "reset" are called data for already removed indexes diff --git a/pyblish_lite/window.py b/pyblish_lite/window.py index a67fe57..dd46a7e 100644 --- a/pyblish_lite/window.py +++ b/pyblish_lite/window.py @@ -1016,6 +1016,12 @@ def on_was_validated(self): failed = True for index in instance_model: + if ( + not index.data(model.HasFailed) and + not index.data(model.HasSucceeded) + ): + index.model().setData(index, True, model.HasSucceeded) + index.model().setData(index, False, model.IsIdle) buttons = self.data["buttons"]