From bfd6f40ea81bf5cbaefe70b97b6b9086e1bb627e Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Sun, 22 Sep 2013 09:08:15 +0000
Subject: [PATCH] tweak

---
 Common/CreateFile.cpp | 10 ++++++----
 Common/CreateFile.h   |  3 ++-
 Fltk/fileDialogs.cpp  |  2 +-
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/Common/CreateFile.cpp b/Common/CreateFile.cpp
index f7b943f13d..5b94aeb68d 100644
--- a/Common/CreateFile.cpp
+++ b/Common/CreateFile.cpp
@@ -222,7 +222,8 @@ static void change_print_parameter(int frame)
   ParseString(CTX::instance()->print.parameterCommand);
 }
 
-void CreateOutputFile(const std::string &fileName, int format, bool status)
+void CreateOutputFile(const std::string &fileName, int format,
+                      bool status, bool redraw)
 {
   std::string name = fileName;
   if(name.empty()) name = GetDefaultFileName(format);
@@ -238,7 +239,7 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
   switch (format) {
 
   case FORMAT_AUTO:
-    CreateOutputFile(name, GuessFileFormatFromFileName(name), false);
+    CreateOutputFile(name, GuessFileFormatFromFileName(name), false, false);
     break;
 
   case FORMAT_OPT:
@@ -566,7 +567,8 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
         if(cycle == 2)
           change_print_parameter(i);
         if(fp)
-          CreateOutputFile(CTX::instance()->homeDir + frames[i], FORMAT_PPM, false);
+          CreateOutputFile(CTX::instance()->homeDir + frames[i], FORMAT_PPM,
+                           false, false);
         else{
           drawContext::global()->draw();
           SleepInSeconds(CTX::instance()->post.animDelay);
@@ -629,6 +631,6 @@ void CreateOutputFile(const std::string &fileName, int format, bool status)
     Msg::StatusBar(true, "Done writing '%s'", name.c_str());
 
 #if defined(HAVE_OPENGL)
-  drawContext::global()->draw();
+  if(redraw) drawContext::global()->draw();
 #endif
 }
diff --git a/Common/CreateFile.h b/Common/CreateFile.h
index 15cf0a5572..932654efb5 100644
--- a/Common/CreateFile.h
+++ b/Common/CreateFile.h
@@ -11,6 +11,7 @@
 int GetFileFormatFromExtension(const std::string &fileName);
 int GuessFileFormatFromFileName(const std::string &fileName);
 std::string GetDefaultFileName(int format);
-void CreateOutputFile(const std::string &fileName, int format, bool status=true);
+void CreateOutputFile(const std::string &fileName, int format,
+                      bool status=true, bool redraw=true);
 
 #endif
diff --git a/Fltk/fileDialogs.cpp b/Fltk/fileDialogs.cpp
index de54b33651..e2d294184b 100644
--- a/Fltk/fileDialogs.cpp
+++ b/Fltk/fileDialogs.cpp
@@ -500,7 +500,7 @@ int mpegFileDialog(const char *name)
         opt_print_delete_tmp_files(0, GMSH_SET | GMSH_GUI, (int)dialog->c[2]->value());
         int format = (o == dialog->preview) ? FORMAT_MPEG_PREVIEW : FORMAT_MPEG;
         dialog->buttons->deactivate();
-        CreateOutputFile(name, format, o == dialog->ok);
+        CreateOutputFile(name, format, o == dialog->ok, true);
         dialog->buttons->activate();
         if(o == dialog->ok){
           dialog->window->hide();
-- 
GitLab