--- a/src/Pure/PIDE/headless.scala Tue Dec 20 13:59:07 2022 +0100
+++ b/src/Pure/PIDE/headless.scala Tue Dec 20 16:34:13 2022 +0100
@@ -390,8 +390,9 @@
val theory_progress =
(for {
- (name, node_status) <- st1.nodes_status.present.iterator
- if changed_st.changed_nodes(name) && !st.already_committed.isDefinedAt(name)
+ (name, node_status) <- st1.nodes_status.present().iterator
+ if !node_status.is_empty && changed_st.changed_nodes(name) &&
+ !st.already_committed.isDefinedAt(name)
p1 = node_status.percentage
if p1 > 0 && !st.nodes_status.get(name).map(_.percentage).contains(p1)
} yield Progress.Theory(name.theory, percentage = Some(p1))).toList