diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 4b9064b9391d8a790e1c58730d31a93814c880ab..703ff22fcdf5b6b93df4b2bc0951f446a2bab3a4 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.17 2001-01-11 22:27:55 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.18 2001-01-12 00:43:05 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -1581,6 +1581,9 @@ void view_options_vector_displacement_cb(CALLBACK_ARGS){
   ENDVIEWMOD
 }
 void view_options_vector_scale_cb(CALLBACK_ARGS){
+  STARTVIEWMOD
+    v->ArrowScale = ((Fl_Value_Input*)w)->value() ;
+  ENDVIEWMOD
 }
 void view_options_vector_cog_cb(CALLBACK_ARGS){
   STARTVIEWMOD
diff --git a/Fltk/Message.cpp b/Fltk/Message.cpp
index 0d740dabeb6802e68b29c92d0f20e5baf4ef97cc..d67c28427f52a7471675e4bcd07790ecc67c9607 100644
--- a/Fltk/Message.cpp
+++ b/Fltk/Message.cpp
@@ -1,4 +1,4 @@
-// $Id: Message.cpp,v 1.6 2001-01-11 22:27:55 geuzaine Exp $
+// $Id: Message.cpp,v 1.7 2001-01-12 00:43:05 geuzaine Exp $
 
 #include <signal.h>
 #ifndef WIN32
@@ -22,11 +22,11 @@ void Signal (int sig_num){
 
   switch (sig_num){
   case SIGSEGV : 
-    Msg(FATAL, "Segmentation Violation (Invalid Memory Reference)\n"
-        "------------------------------------------------------\n"
-        "You have discovered a bug in Gmsh. You may e-mail the\n"
-        "context in which it occurred to one of the authors:\n"
-        "type 'gmsh -info' to get feedback information"); 
+    Msg(FATAL1, "Segmentation Violation (Invalid Memory Reference)");
+    Msg(FATAL2, "------------------------------------------------------");
+    Msg(FATAL2, "You have discovered a bug in Gmsh. You may e-mail the");
+    Msg(FATAL2, "context in which it occurred to one of the authors:");
+    Msg(FATAL3, "type 'gmsh -info' to get feedback information"); 
     break;
   case SIGFPE : 
     Msg(FATAL, "Floating Point Exception (Division by Zero?)"); 
@@ -153,7 +153,12 @@ void Msg(int level, char *fmt, ...){
 
   va_end (args);
 
-  if(abort) exit(1);
+  if(!verb) WID->create_message_window();
+
+  if(abort){
+    WID->save_message("error.log");
+    exit(1);
+  }
 }