diff --git a/Common/onelabUtils.cpp b/Common/onelabUtils.cpp index a5015016fd979c0a99bc77248189756e3729fffd..c46c1e8020d83dd4a968ebdfcac1e909546ea891 100644 --- a/Common/onelabUtils.cpp +++ b/Common/onelabUtils.cpp @@ -276,12 +276,18 @@ namespace onelabUtils { onelab::client *c = it->second; std::string mshFileName = onelabUtils::getMshFileName(c); - if(action == "initialize") return redraw; static std::string modelName = GModel::current()->getName(); static bool firstComputation = true; - if(action == "check"){ + if(action == "initialize"){ + // nothing to do + } + else if(action == "reset"){ + firstComputation = false; + OpenProject(GModel::current()->getFileName()); + } + else if(action == "check"){ if(onelab::server::instance()->getChanged("Gmsh") || modelName != GModel::current()->getName()){ // reload geometry if Gmsh parameters have been modified or if the model diff --git a/Fltk/onelabWindow.cpp b/Fltk/onelabWindow.cpp index a55cc8eaabdfa253c3fca9e67f8b2a2b3e9f9ff6..ff1b71cdfe9c4751b719f7f6ac35770b9c8123bc 100644 --- a/Fltk/onelabWindow.cpp +++ b/Fltk/onelabWindow.cpp @@ -523,7 +523,7 @@ void onelab_cb(Fl_Widget *w, void *data) onelab::server::instance()->clear(); if(onelab::server::instance()->findClient("Gmsh") != onelab::server::instance()->lastClient()) - geometry_reload_cb(0, 0); + onelabUtils::runGmshClient(action, CTX::instance()->solver.autoMesh); for(unsigned int i = 0; i < useCommandLines.size(); i++) onelab::server::instance()->set(useCommandLines[i]); for(unsigned int i = 0; i < guessModelNames.size(); i++)