diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index eefc4b04a9332d12602b295054645d657c5eeb91..dd20655c05dd190071846749e9d2a9029a080a50 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.25 2001-02-03 14:03:46 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.26 2001-02-03 18:33:45 geuzaine Exp $
 
 #include "Gmsh.h"
 #include "GmshUI.h"
@@ -419,7 +419,7 @@ void opt_geometry_num_cb(CALLBACK_ARGS) {
   }
 }
 void opt_geometry_show_by_entity_num_cb(CALLBACK_ARGS) {
-  const char * c = ((Fl_Input*)w)->value(); 
+  char * c = (char*)((Fl_Input*)w)->value(); 
   if (!strcmp(c,"all") || !strcmp(c,"*")){
     if(SHOW_ALL_ENTITIES){ RemplirEntitesVisibles(0); SHOW_ALL_ENTITIES = 0; }
     else { RemplirEntitesVisibles(1); SHOW_ALL_ENTITIES = 1; }
@@ -429,6 +429,7 @@ void opt_geometry_show_by_entity_num_cb(CALLBACK_ARGS) {
     if(EntiteEstElleVisible(i)) ToutesLesEntitesRelatives(i,EntitesVisibles,0);
     else ToutesLesEntitesRelatives(i,EntitesVisibles,1);
   }
+  Draw();
 }
 
 void opt_geometry_normals_cb(CALLBACK_ARGS) {
@@ -1449,10 +1450,10 @@ void view_options_linear_range_cb(CALLBACK_ARGS){
 void view_options_logarithmic_range_cb(CALLBACK_ARGS){
   STARTVIEWMOD
     if(((Fl_Check_Button*)w)->value()){
-      v->RangeType = DRAW_POST_LOGARITHMIC;
+      v->ScaleType = DRAW_POST_LOGARITHMIC;
     }
     else{
-      v->RangeType = DRAW_POST_LINEAR;
+      v->ScaleType = DRAW_POST_LINEAR;
     }
     v->Changed = 1;
   ENDVIEWMOD
@@ -1532,9 +1533,12 @@ void view_options_zraise_cb(CALLBACK_ARGS){
   ENDVIEWMOD
 }
 void view_options_timestep_cb(CALLBACK_ARGS){
+  int ii = (int)((Fl_Value_Input*)w)->value();
   STARTVIEWMOD
-    v->TimeStep = (int)((Fl_Value_Input*)w)->value() ;
-    v->Changed = 1;
+    if(ii>=0 && ii<v->NbTimeStep){
+      v->TimeStep = ii ;
+      v->Changed = 1;
+    }
   ENDVIEWMOD
   Draw();
 }
@@ -1579,7 +1583,7 @@ void view_options_vector_scale_cb(CALLBACK_ARGS){
 void view_options_vector_cog_cb(CALLBACK_ARGS){
   STARTVIEWMOD
     if(((Fl_Check_Button*)w)->value()){
-      v->ArrowType = DRAW_POST_LOCATE_COG;
+      v->ArrowLocation = DRAW_POST_LOCATE_COG;
       v->Changed = 1;
     }
   ENDVIEWMOD
@@ -1587,7 +1591,7 @@ void view_options_vector_cog_cb(CALLBACK_ARGS){
 void view_options_vector_vertex_cb(CALLBACK_ARGS){
   STARTVIEWMOD
     if(((Fl_Check_Button*)w)->value()){
-      v->ArrowType = DRAW_POST_LOCATE_VERTEX;
+      v->ArrowLocation = DRAW_POST_LOCATE_VERTEX;
       v->Changed = 1;
     }
   ENDVIEWMOD
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 0f51ee53d2e694d8d4746b35f4d570a503aebe19..41458711593393cd54f024d19367d752d656a3b5 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.34 2001-02-03 15:55:18 geuzaine Exp $
+// $Id: GUI.cpp,v 1.35 2001-02-03 18:33:45 geuzaine Exp $
 
 // To make the interface as visually consistent as possible, please:
 // - use the BH, BW, WB, IW values for button heights/widths, window borders, etc.
@@ -1060,8 +1060,10 @@ void GUI::create_geometry_options_window(){
 	  geo_butt[i]->labelsize(CTX.fontsize);
 	  geo_butt[i]->selection_color(FL_YELLOW);
 	}
+
         geo_input = new Fl_Input(2*WB, 2*WB+5*BH, IW, BH, "Show by entity number");
 	geo_input->callback(opt_geometry_show_by_entity_num_cb);
+	geo_input->when(FL_WHEN_ENTER_KEY|FL_WHEN_NOT_CHANGED);
 	geo_input->labelsize(CTX.fontsize);
 	geo_input->align(FL_ALIGN_RIGHT);
 
@@ -1083,6 +1085,7 @@ void GUI::create_geometry_options_window(){
 	  geo_value[i]->type(FL_HORIZONTAL);
 	  geo_value[i]->align(FL_ALIGN_RIGHT);
 	}
+
         o->end();
       }
       o->end();
@@ -1197,6 +1200,7 @@ void GUI::create_mesh_options_window(){
 	}
         mesh_input = new Fl_Input(2*WB, 2*WB+5*BH, IW, BH, "Show by entity Number");
 	mesh_input->callback(opt_mesh_show_by_entity_num_cb);
+	mesh_input->when(FL_WHEN_ENTER_KEY|FL_WHEN_NOT_CHANGED);
 	mesh_input->labelsize(CTX.fontsize);
 	mesh_input->align(FL_ALIGN_RIGHT);
 
@@ -1852,7 +1856,7 @@ void GUI::create_view_window(int num){
 	view_value[10]->type(FL_HORIZONTAL);
 	view_value[10]->align(FL_ALIGN_RIGHT);
 	view_value[10]->minimum(0); 
-	view_value[10]->maximum(1000); 
+	view_value[10]->maximum(100000); 
 	view_value[10]->step(1);
 
 	view_vector->end();
diff --git a/Fltk/Main.cpp b/Fltk/Main.cpp
index d2a83b317398c88f12d079f2b988fc489e7db1c5..d534f3da79a9d8b3f5d3c583332783d3bbf5a715 100644
--- a/Fltk/Main.cpp
+++ b/Fltk/Main.cpp
@@ -1,4 +1,4 @@
-// $Id: Main.cpp,v 1.13 2001-01-29 08:43:44 geuzaine Exp $
+// $Id: Main.cpp,v 1.14 2001-02-03 18:33:45 geuzaine Exp $
 
 #include <signal.h>
 
@@ -20,6 +20,10 @@
 
 GUI *WID = NULL;
 
+#ifdef __CYGWIN__
+ WinMainCRTStartup() { mainCRTStartup(); }
+#endif
+
 int main(int argc, char *argv[]){
   int     i, nbf;
  
diff --git a/utils/gmsh_fltk.spec b/utils/gmsh_fltk.spec
index 574fa9d9563fc6b09335772c08700e1aa5d3dce8..f9dca01376fe1d12de411ee99f427e19479fcfe8 100644
--- a/utils/gmsh_fltk.spec
+++ b/utils/gmsh_fltk.spec
@@ -17,10 +17,11 @@ to provide a simple meshing tool for academic test cases with
 parametric input and up to date visualization capabilities.  One of
 the strengths of Gmsh is its ability to respect a characteristic
 length field for the generation of adapted meshes on lines, surfaces
-and volumes. Gmsh requires OpenGL libraries to be installed on your
+and volumes. Gmsh requires OpenGL (or Mesa) to be installed on your
 system.
 
-Install Gmsh if you need a simple 3D finite element mesh generator.
+Install Gmsh if you need a 3D finite element mesh generator and/or
+post-processor.
 
 %prep