summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-07-29 14:08:51 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-07-29 14:08:51 +0200
commit741675b458bf23cf437a6c56f95483c5c66af774 (patch)
treeb9f58053cf0715536b397db2ce45cb58e9cb849a
parentb1ffc11d930c19bd73af9837a08bc8dde9fe8e72 (diff)
downloadastra-741675b458bf23cf437a6c56f95483c5c66af774.tar.gz
astra-741675b458bf23cf437a6c56f95483c5c66af774.tar.bz2
astra-741675b458bf23cf437a6c56f95483c5c66af774.tar.xz
astra-741675b458bf23cf437a6c56f95483c5c66af774.zip
Fix memory leak in CPU projectors
-rw-r--r--include/astra/ParallelBeamLineKernelProjector2D.inl3
-rw-r--r--include/astra/ParallelBeamLinearKernelProjector2D.inl3
-rw-r--r--include/astra/ParallelBeamStripKernelProjector2D.inl2
3 files changed, 8 insertions, 0 deletions
diff --git a/include/astra/ParallelBeamLineKernelProjector2D.inl b/include/astra/ParallelBeamLineKernelProjector2D.inl
index 199cfd7..b3e54f9 100644
--- a/include/astra/ParallelBeamLineKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLineKernelProjector2D.inl
@@ -316,4 +316,7 @@ void CParallelBeamLineKernelProjector2D::projectBlock_internal(int _iProjFrom, i
} // end loop detector
} // end loop angles
+ if (dynamic_cast<CParallelProjectionGeometry2D*>(m_pProjectionGeometry))
+ delete pVecProjectionGeometry;
+
}
diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.inl b/include/astra/ParallelBeamLinearKernelProjector2D.inl
index ecbdeb3..9b2c7b1 100644
--- a/include/astra/ParallelBeamLinearKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLinearKernelProjector2D.inl
@@ -234,4 +234,7 @@ void CParallelBeamLinearKernelProjector2D::projectBlock_internal(int _iProjFrom,
} // end loop detector
} // end loop angles
+
+ if (dynamic_cast<CParallelProjectionGeometry2D*>(m_pProjectionGeometry))
+ delete pVecProjectionGeometry;
}
diff --git a/include/astra/ParallelBeamStripKernelProjector2D.inl b/include/astra/ParallelBeamStripKernelProjector2D.inl
index f0203f2..e457316 100644
--- a/include/astra/ParallelBeamStripKernelProjector2D.inl
+++ b/include/astra/ParallelBeamStripKernelProjector2D.inl
@@ -287,4 +287,6 @@ void CParallelBeamStripKernelProjector2D::projectBlock_internal(int _iProjFrom,
} // end loop detector
} // end loop angles
+ if (dynamic_cast<CParallelProjectionGeometry2D*>(m_pProjectionGeometry))
+ delete pVecProjectionGeometry;
}