aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Schnetter <schnetter@gmail.com>2013-08-06 12:57:23 -0400
committerErik Schnetter <schnetter@gmail.com>2013-08-06 13:11:12 -0400
commit1208584f656f4af6a0b3d511882f77727f4638f3 (patch)
treef5a38ed7a4607cbb76f39e33a3d001033fc28805
parentb6b6b71ca4c1de25e5d8f2dbc515d052b72aba32 (diff)
CarpetLib: Free ggf data structures in ggf, not in gf<T>
-rw-r--r--Carpet/CarpetLib/src/gf.cc8
-rw-r--r--Carpet/CarpetLib/src/ggf.cc10
2 files changed, 10 insertions, 8 deletions
diff --git a/Carpet/CarpetLib/src/gf.cc b/Carpet/CarpetLib/src/gf.cc
index 939c34373..e9604186f 100644
--- a/Carpet/CarpetLib/src/gf.cc
+++ b/Carpet/CarpetLib/src/gf.cc
@@ -21,20 +21,12 @@ gf<T>::gf (const int varindex_, const operator_type transport_operator_,
t_, d_, prolongation_order_time_,
vectorlength_, vectorindex_, vectorleader_)
{
- recompose_crop ();
- for (int rl=0; rl<h.reflevels(); ++rl) {
- recompose_allocate (rl);
- recompose_free_old (rl);
- } // for rl
}
// Destructors
template<typename T>
gf<T>::~gf ()
{
- for (int rl=0; rl<h.reflevels(); ++rl) {
- recompose_free (rl);
- } // for rl
}
diff --git a/Carpet/CarpetLib/src/ggf.cc b/Carpet/CarpetLib/src/ggf.cc
index 84f867c46..7ec02ff30 100644
--- a/Carpet/CarpetLib/src/ggf.cc
+++ b/Carpet/CarpetLib/src/ggf.cc
@@ -52,10 +52,20 @@ ggf::ggf (const int varindex_, const operator_type transport_operator_,
allggf.insert (this);
d.insert (this);
+
+ recompose_crop ();
+ for (int rl=0; rl<h.reflevels(); ++rl) {
+ recompose_allocate (rl);
+ recompose_free_old (rl);
+ } // for rl
}
// Destructors
ggf::~ggf () {
+ for (int rl=0; rl<h.reflevels(); ++rl) {
+ recompose_free (rl);
+ } // for rl
+
d.erase (this);
allggf.erase (this);
}