From 4157fae104f6cc1c3d9a7cbdb17d3d65dd6d5342 Mon Sep 17 00:00:00 2001
From: Stefen Guzik <guzik2@llnl.gov>
Date: Mon, 15 Sep 2008 07:48:13 +0000
Subject: [PATCH] zone_def options...

---
 Common/DefaultOptions.h | 2 +-
 Common/Options.cpp      | 5 ++++-
 Fltk/GUI_Extras.cpp     | 2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Common/DefaultOptions.h b/Common/DefaultOptions.h
index db33263c66..b6042e56ba 100644
--- a/Common/DefaultOptions.h
+++ b/Common/DefaultOptions.h
@@ -1107,7 +1107,7 @@ StringXNumber MeshOptions_Number[] = {
   { F|O, "Voronoi" , opt_mesh_voronoi , 0. ,
     "Display the voronoi diagram" },
 
-  { F|O, "ZoneDefinition" , opt_mesh_zone_definition , 2. , 
+  { F|O, "ZoneDefinition" , opt_mesh_zone_definition , 0. , 
     "Method for defining a zone (0=single zone, 1=by partition, 2=by physical)" },
 
   { 0, NULL , NULL , 0. , NULL }
diff --git a/Common/Options.cpp b/Common/Options.cpp
index 60176dbc0f..65f265eb54 100644
--- a/Common/Options.cpp
+++ b/Common/Options.cpp
@@ -5290,7 +5290,10 @@ double opt_mesh_zone_definition(OPT_ARGS_NUM)
 {
   if(action & GMSH_SET){
     CTX.mesh.zone_definition = (int)val;
-    if(CTX.mesh.zone_definition < 0 || CTX.mesh.zone_definition > 2)
+    if( (CTX.mesh.zone_definition < 0 || CTX.mesh.zone_definition > 2) ||
+        (CTX.mesh.zone_definition == 1 &&
+         GModel::current()->getMinPartitionSize() +
+         GModel::current()->getMaxPartitionSize() == 0) )
       CTX.mesh.zone_definition = 0;
   }
   return CTX.mesh.zone_definition;
diff --git a/Fltk/GUI_Extras.cpp b/Fltk/GUI_Extras.cpp
index 64e051891b..76fe0c3fac 100644
--- a/Fltk/GUI_Extras.cpp
+++ b/Fltk/GUI_Extras.cpp
@@ -1178,7 +1178,7 @@ struct CGNSWriteDialog
   int status;
   void write_all_options()
   {
-    CTX.mesh.zone_definition = choiceZoneDef->value();
+    opt_mesh_zone_definition(0, GMSH_SET | GMSH_GUI, choiceZoneDef->value());
     CTX.mesh.cgns_options.baseName = inputBaseName->value();
     CTX.mesh.cgns_options.zoneName = inputZoneName->value();
     CTX.mesh.cgns_options.interfaceName = inputInterfaceName->value();
-- 
GitLab