[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