diff --git a/Common/GmshMessage.cpp b/Common/GmshMessage.cpp index 19ab3ea7e4cccbedf166af117b238d6a922c8364..147cb99ae75b53235103b98778a39f532b84cd96 100644 --- a/Common/GmshMessage.cpp +++ b/Common/GmshMessage.cpp @@ -99,7 +99,7 @@ void Msg::Exit(int level) #endif exit(level); } - + #if defined(HAVE_FLTK) // if we exit cleanly (level==0) and we are in full GUI mode, save // the persistent info to disk @@ -113,6 +113,9 @@ void Msg::Exit(int level) } #endif +#if defined(HAVE_PETSC) + PetscFinalize(); +#endif #if defined(HAVE_MPI) MPI_Finalize(); #endif @@ -373,12 +376,15 @@ void Msg::ProgressMeter(int n, int N, const char *fmt, ...) sprintf(str2, "(%d %%)", _progressMeterCurrent); strcat(str, str2); + if(_client) _client->Progress(str); + #if defined(HAVE_FLTK) if(FlGui::available()){ if(_verbosity > 3) FlGui::instance()->setStatus(str, 1); FlGui::instance()->check(); } #endif + if(CTX::instance()->terminal){ fprintf(stdout, "%s \r", str); fflush(stdout); @@ -389,11 +395,14 @@ void Msg::ProgressMeter(int n, int N, const char *fmt, ...) } if(n > N - 1){ + if(_client) _client->Progress("Done!"); + #if defined(HAVE_FLTK) if(FlGui::available()){ if(_verbosity > 3) FlGui::instance()->setStatus("", 1); } #endif + if(CTX::instance()->terminal){ fprintf(stdout, "Done! \r"); fflush(stdout);