From: Claudio Sacerdoti Coen Date: Mon, 2 Oct 2006 16:22:13 +0000 (+0000) Subject: **** EXPERIMENTAL **** X-Git-Tag: make_still_working~6811 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=5972bd28a3e3d6d5853ae3ad6bbf908a00d841f2;p=helm.git **** EXPERIMENTAL **** The GUI of Matita is now thread-based. In principle Ctr-C works unreliably. In practice it works reasonably well. --- diff --git a/helm/software/matita/matitaGui.ml b/helm/software/matita/matitaGui.ml index 4f36938b5..af9984c1b 100644 --- a/helm/software/matita/matitaGui.ml +++ b/helm/software/matita/matitaGui.ml @@ -422,10 +422,13 @@ class gui () = develList#buttonsHbox#misc#set_sensitive true; source_view#set_editable true in - let locker f = + let locker f () = + let thread_main = fun () -> lock_world (); - try f ();unlock_world () with exc -> unlock_world (); raise exc in + try f ();unlock_world () with exc -> unlock_world (); raise exc + in + ignore (Thread.create thread_main ()) in let keep_focus f = fun () -> try