src/Tools/jEdit/src/session_dockable.scala
changeset 48018 b941dd7df92a
parent 48014 63021e59cbf0
child 48021 d899be1cfe6d
--- a/src/Tools/jEdit/src/session_dockable.scala	Tue May 29 20:20:32 2012 +0200
+++ b/src/Tools/jEdit/src/session_dockable.scala	Tue May 29 20:38:40 2012 +0200
@@ -64,6 +64,11 @@
   session_phase.border = new SoftBevelBorder(BevelBorder.LOWERED)
   session_phase.tooltip = "Prover status"
 
+  private def handle_phase(phase: Session.Phase)
+  {
+    Swing_Thread.later { session_phase.text = " " + phase.toString + " " }
+  }
+
   private val cancel = new Button("Cancel") {
     reactions += { case ButtonClicked(_) => Isabelle.cancel_execution() }
   }
@@ -173,8 +178,7 @@
               if (text != syslog.text) syslog.text = text
             }
 
-        case phase: Session.Phase =>
-          Swing_Thread.later { session_phase.text = " " + phase.toString + " " }
+        case phase: Session.Phase => handle_phase(phase)
 
         case changed: Session.Commands_Changed => handle_update(Some(changed.nodes))
 
@@ -183,17 +187,22 @@
     }
   }
 
-  override def init() {
+  override def init()
+  {
     Isabelle.session.syslog_messages += main_actor
     Isabelle.session.phase_changed += main_actor
+    handle_phase(Isabelle.session.phase)
     Isabelle.session.commands_changed += main_actor
+    handle_update()
   }
 
-  override def exit() {
+  override def exit()
+  {
     Isabelle.session.syslog_messages -= main_actor
     Isabelle.session.phase_changed -= main_actor
     Isabelle.session.commands_changed -= main_actor
   }
 
+  handle_phase(Isabelle.session.phase)
   handle_update()
 }