]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/matitaGui.ml
More profiling code added.
[helm.git] / helm / matita / matitaGui.ml
index 153d474abe09b6a5e22baff307ebcaac3cc0283a..e2e4909428dc56f39c5bbde2edba05caaf9e7a27 100644 (file)
@@ -171,9 +171,7 @@ class gui () =
         (*~comments:"comments"*)
         ~copyright:"Copyright (C) 2005, the HELM team"
         ~license:(String.concat "\n" (parse_txt_file "LICENSE"))
-        ~logo:
-          (GdkPixbuf.from_file
-            (BuildTimeConf.runtime_base_dir ^ "/logo/matita_medium.png"))
+        ~logo:(GdkPixbuf.from_file (MatitaMisc.image_path "/matita_medium.png"))
         ~name:"Matita"
         ~version:BuildTimeConf.version
         ~website:"http://helm.cs.unibo.it"
@@ -396,7 +394,7 @@ class gui () =
       let get_devel_selected () = 
         match model#easy_mselection () with
         | [[name;_]] -> MatitamakeLib.development_for_name name
-        | _ -> assert false 
+        | _ -> None
       in
       let refresh () = 
         while Glib.Main.pending () do 
@@ -568,7 +566,10 @@ class gui () =
         (* log *)
       MatitaLog.set_log_callback self#console#log_callback;
       GtkSignal.user_handler :=
-        (fun exn -> MatitaLog.error (MatitaExcPp.to_string exn));
+        (fun exn ->
+          if Helm_registry.get_bool "matita.catch_top_level_exn" then
+            MatitaLog.error (MatitaExcPp.to_string exn)
+          else raise exn);
         (* script *)
       let _ =
         match GSourceView.source_language_from_file BuildTimeConf.lang_file with
@@ -606,19 +607,19 @@ class gui () =
         let script = s () in 
         let status = script#status in
         try 
-          if source_view#buffer#modified then
-            begin
-              match ask_unsaved main#toplevel with
-              | `YES -> saveScript ()
-              | `NO -> ()
-              | `CANCEL -> raise MatitaTypes.Cancel
-            end;
-          (match script_fname with
-          | None -> ()
-          | Some fname -> 
-              ask_and_save_moo_if_needed main#toplevel fname status);
           match self#chooseFile () with
           | Some f -> 
+                if source_view#buffer#modified then
+                  begin
+                    match ask_unsaved main#toplevel with
+                    | `YES -> saveScript ()
+                    | `NO -> ()
+                    | `CANCEL -> raise MatitaTypes.Cancel
+                  end;
+                (match script_fname with
+                | None -> ()
+                | Some fname -> 
+                    ask_and_save_moo_if_needed main#toplevel fname status);
                 script#reset (); 
                 script#assignFileName f;
                 source_view#source_buffer#begin_not_undoable_action ();
@@ -1057,9 +1058,7 @@ let interactive_interp_choice () choices =
   let selection = dialog#interpChoiceTreeView#selection in
   ignore (selection#connect#changed (fun _ ->
     match selection#get_selected_rows with
-    | [path] ->
-        MatitaLog.debug (sprintf "selection: %d" (model#get_interp_no path));
-        interp_no := Some (model#get_interp_no path)
+    | [path] -> interp_no := Some (model#get_interp_no path)
     | _ -> assert false));
   dialog#interpChoiceDialog#show ();
   GtkThread.main ();