diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 9801ca047f63df58dc87a9f2236d7a03349ce92f..cc81d32c3fb315e05f3c528365610dc215af0162 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.519 2007-03-18 12:05:16 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.520 2007-04-01 10:29:42 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -4215,8 +4215,10 @@ void solver_choose_executable_cb(CALLBACK_ARGS)
 #else
                   "*"
 #endif
-                  ))
+                  )){
     WID->solver[num].input[2]->value(file_chooser_get_name(1));
+    solver_ok_cb(w, data);
+  }
 }
 
 void solver_ok_cb(CALLBACK_ARGS)
@@ -4225,11 +4227,9 @@ void solver_ok_cb(CALLBACK_ARGS)
   opt_solver_popup_messages(num, GMSH_SET, WID->solver[num].butt[0]->value());
   opt_solver_merge_views(num, GMSH_SET, WID->solver[num].butt[1]->value());
   opt_solver_client_server(num, GMSH_SET, WID->solver[num].butt[2]->value());
-  if(strcmp(opt_solver_executable(num, GMSH_GET, NULL),
-            WID->solver[num].input[2]->value()))
+  if(strcmp(opt_solver_executable(num, GMSH_GET, NULL), WID->solver[num].input[2]->value()))
     retry = 1;
-  opt_solver_executable(num, GMSH_SET,
-                        (char *)WID->solver[num].input[2]->value());
+  opt_solver_executable(num, GMSH_SET, (char *)WID->solver[num].input[2]->value());
   if(retry)
     solver_cb(NULL, data);
 }
diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp
index 0fa7c0bb0fa6863c400dba3a3bfdafb041efd5de..25e9fa9956955340a4e473e6b73b20147e507570 100644
--- a/Mesh/meshGFace.cpp
+++ b/Mesh/meshGFace.cpp
@@ -1,4 +1,4 @@
-// $Id: meshGFace.cpp,v 1.68 2007-03-16 10:03:40 remacle Exp $
+// $Id: meshGFace.cpp,v 1.69 2007-04-01 10:29:42 geuzaine Exp $
 //
 // Copyright (C) 1997-2007 C. Geuzaine, J.-F. Remacle
 //
@@ -1311,7 +1311,7 @@ bool gmsh2DMeshGeneratorPeriodic ( GFace *gf , bool debug = true)
 	  BDS_Edge * e = m->recover_edge ( edgeLoop_BDS[j]->iD,edgeLoop_BDS[(j+1)%edgeLoop_BDS.size()]->iD);	  
 	  if (!e)
 	    {
-	      Msg(GERROR,"impossible to recover the edge %d %d\n",edgeLoop_BDS[j]->iD,edgeLoop_BDS[(j+1)%edgeLoop_BDS.size()]->iD);
+	      Msg(GERROR,"impossible to recover the edge %d %d",edgeLoop_BDS[j]->iD,edgeLoop_BDS[(j+1)%edgeLoop_BDS.size()]->iD);
 	      SCALINGU = SCALINGV = 1;
 	      return false;
 	    }