# HG changeset patch # User wenzelm # Date 1503247542 -7200 # Node ID b578ef1a8b4057b38fc8b8342c9c12a98fba5631 # Parent 42d0d5c77c782c979905cd4b125cddb3854ca0a2 more robust plugin restart; diff -r 42d0d5c77c78 -r b578ef1a8b40 src/Tools/jEdit/src/Isabelle.props --- a/src/Tools/jEdit/src/Isabelle.props Sun Aug 20 18:30:20 2017 +0200 +++ b/src/Tools/jEdit/src/Isabelle.props Sun Aug 20 18:45:42 2017 +0200 @@ -9,7 +9,7 @@ plugin.isabelle.jedit.Plugin.description=Isabelle Prover IDE #system parameters -plugin.isabelle.jedit.Plugin.activate=startup +plugin.isabelle.jedit.Plugin.activate=defer plugin.isabelle.jedit.Plugin.usePluginHome=false #dependencies diff -r 42d0d5c77c78 -r b578ef1a8b40 src/Tools/jEdit/src/plugin.scala --- a/src/Tools/jEdit/src/plugin.scala Sun Aug 20 18:30:20 2017 +0200 +++ b/src/Tools/jEdit/src/plugin.scala Sun Aug 20 18:45:42 2017 +0200 @@ -281,6 +281,12 @@ @volatile private var startup_failure: Option[Throwable] = None @volatile private var startup_notified = false + private def init_view(view: View) + { + Session_Build.check_dialog(view) + Keymap_Merge.check_dialog(view) + } + override def handleMessage(message: EBMessage) { GUI_Thread.assert {} @@ -306,10 +312,7 @@ } val view = jEdit.getActiveView() - - Session_Build.check_dialog(view) - - Keymap_Merge.check_dialog(view) + init_view(view) PIDE.editor.hyperlink_position(true, Document.Snapshot.init, JEdit_Sessions.session_info(options.value).open_root).foreach(_.follow(view)) @@ -437,6 +440,9 @@ startup_notified = false Log.log(Log.ERROR, this, exn) } + + val view = jEdit.getActiveView() + if (view != null) init_view(view) } override def stop()