[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203

Stephane Popinet s.popinet at niwa.co.nz
Fri May 15 02:52:08 UTC 2009


The following commit has been merged in the upstream branch:
commit 7e6910a8041f944b92df945d591329ba62e847f3
Author: Stephane Popinet <s.popinet at niwa.co.nz>
Date:   Fri Jul 1 08:20:23 2005 +1000

    Fix for I/O of GfsDomain
    
    darcs-hash:20050630222023-fbd8f-9bc3cb707c7602249b36ec93180b1e935f6bf7ba.gz

diff --git a/src/domain.c b/src/domain.c
index b161dcc..0b7444a 100644
--- a/src/domain.c
+++ b/src/domain.c
@@ -247,6 +247,8 @@ static void domain_destroy (GtsObject * o)
   g_hash_table_foreach (domain->timers, (GHFunc) free_pair, NULL);
   g_hash_table_destroy (domain->timers);
 
+  g_slist_free (domain->variables_io);
+
   (* GTS_OBJECT_CLASS (gfs_domain_class ())->parent_class->destroy) (o);
 }
 
diff --git a/src/output.c b/src/output.c
index d3fbb3d..06e9c8c 100644
--- a/src/output.c
+++ b/src/output.c
@@ -1217,7 +1217,8 @@ static gboolean output_simulation_event (GfsEvent * event, GfsSimulation * sim)
   if ((* GFS_EVENT_CLASS (gfs_output_class())->event) (event, sim)) {
     GfsDomain * domain = GFS_DOMAIN (sim);
     GfsOutputSimulation * output = GFS_OUTPUT_SIMULATION (event);
-
+    
+    g_slist_free (domain->variables_io);
     domain->variables_io = output->var;
     domain->binary =       output->binary;
     sim->output_surface =  output->surface;
diff --git a/src/simulation.c b/src/simulation.c
index 6c99070..3c3eb02 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -461,14 +461,11 @@ static void simulation_read (GtsObject ** object, GtsFile * fp)
       }
 
       if (GFS_IS_REFINE (object))
-	gts_container_add (GTS_CONTAINER (sim->refines), 
-			   GTS_CONTAINEE (object));
+	gts_container_add (GTS_CONTAINER (sim->refines), GTS_CONTAINEE (object));
       else if (GFS_IS_ADAPT (object))
-	gts_container_add (GTS_CONTAINER (sim->adapts),
-			   GTS_CONTAINEE (object));
+	gts_container_add (GTS_CONTAINER (sim->adapts), GTS_CONTAINEE (object));
       else if (GFS_IS_EVENT (object))
-	gts_container_add (GTS_CONTAINER (sim->events), 
-			   GTS_CONTAINEE (object));
+	gts_container_add (GTS_CONTAINER (sim->events), GTS_CONTAINEE (object));
       else if (GFS_IS_SURFACE_GENERIC_BC (object))
 	;
       else
diff --git a/src/variable.c b/src/variable.c
index fb8c950..0566396 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -48,6 +48,9 @@ static void gfs_variable_read (GtsObject ** o, GtsFile * fp)
 
   domain = (*o)->reserved;
   if ((old = gfs_variable_from_name (domain->variables, v->name))) {
+    GSList * i;
+    if ((i = g_slist_find (domain->variables_io, old)))
+      i->data = v;
     domain->variables = g_slist_remove (domain->variables, old);
     gts_object_destroy (GTS_OBJECT (old));
   }

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list