diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index 10a9d3baf49fdd5c580d44485f8c7fd267f5e25c..b966d39bf8b8c07d66d345a31b0d7278b6b05df0 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.538 2006-08-26 17:00:25 geuzaine Exp $
+// $Id: GUI.cpp,v 1.539 2006-08-26 17:59:23 geuzaine Exp $
 //
 // Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
 //
@@ -2514,6 +2514,7 @@ void GUI::create_option_window()
       mesh_value[4]->maximum(1);
       mesh_value[4]->step(0.01);
       mesh_value[4]->align(FL_ALIGN_RIGHT);
+      mesh_value[4]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[4]->callback(mesh_options_ok_cb);
 
       mesh_value[5] = new Fl_Value_Input(L + 2 * WB + IW / 4, 2 * WB + 8 * BH, IW / 2 - IW / 4, BH);
@@ -2521,6 +2522,7 @@ void GUI::create_option_window()
       mesh_value[5]->maximum(1);
       mesh_value[5]->step(0.01);
       mesh_value[5]->align(FL_ALIGN_RIGHT);
+      mesh_value[5]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[5]->callback(mesh_options_ok_cb);
 
       static Fl_Menu_Item menu_quality_type[] = {
@@ -2536,10 +2538,12 @@ void GUI::create_option_window()
 
       mesh_value[6] = new Fl_Value_Input(L + 2 * WB, 2 * WB + 9 * BH, IW / 2, BH);
       mesh_value[6]->align(FL_ALIGN_RIGHT);
+      mesh_value[6]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[6]->callback(mesh_options_ok_cb);
 
       mesh_value[7] = new Fl_Value_Input(L + 2 * WB + IW / 2, 2 * WB + 9 * BH, IW / 2, BH, "Size range");
       mesh_value[7]->align(FL_ALIGN_RIGHT);
+      mesh_value[7]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[7]->callback(mesh_options_ok_cb);
 
       mesh_value[8] = new Fl_Value_Input(L + 2 * WB, 2 * WB + 10 * BH, IW, BH, "Normals");
@@ -2628,6 +2632,7 @@ void GUI::create_option_window()
       mesh_value[9]->maximum(1);
       mesh_value[9]->step(0.01);
       mesh_value[9]->align(FL_ALIGN_RIGHT);
+      mesh_value[9]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[9]->callback(mesh_options_ok_cb);
 
       mesh_choice[0] = new Fl_Choice(L + 2 * WB, 2 * WB + 2 * BH, IW, BH, "Point display");
@@ -2698,6 +2703,7 @@ void GUI::create_option_window()
       mesh_value[18]->maximum(180.);
       mesh_value[18]->step(1.);
       mesh_value[18]->align(FL_ALIGN_RIGHT);
+      mesh_value[18]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       mesh_value[18]->callback(mesh_options_ok_cb);
 
       o->end();
@@ -3235,6 +3241,7 @@ void GUI::create_option_window()
       view_value[12]->step(0.01);
       view_value[12]->maximum(1.);
       view_value[12]->align(FL_ALIGN_RIGHT);
+      view_value[12]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       view_value[12]->callback(view_options_ok_cb);
 
       view_choice[5] = new Fl_Choice(L + 2 * WB, 2 * WB + 2 * BH, IW, BH, "Point display");
@@ -3373,6 +3380,7 @@ void GUI::create_option_window()
       view_value[10]->step(1.);
       view_value[10]->maximum(180.);
       view_value[10]->align(FL_ALIGN_RIGHT);
+      view_value[10]->when(FL_WHEN_RELEASE); // because this can be a slow operation
       view_value[10]->callback(view_options_ok_cb);
       
       o->end();