diff --git a/memory_leak_f/memory_leak_f.vfproj b/memory_leak_f/memory_leak_f.vfproj index 0ac2ec8f..511f6165 100644 --- a/memory_leak_f/memory_leak_f.vfproj +++ b/memory_leak_f/memory_leak_f.vfproj @@ -14,8 +14,8 @@ - - + + diff --git a/memory_leak_f/test_memory_leak.f90 b/memory_leak_f/test_memory_leak.f90 index 24497c65..14b4c28c 100644 --- a/memory_leak_f/test_memory_leak.f90 +++ b/memory_leak_f/test_memory_leak.f90 @@ -21,6 +21,8 @@ OPEN(UNIT=13, file='test_memory_leak.log', STATUS='UNKNOWN', IOSTAT = ios) IF (ios.NE.0) STOP 'Could not open log file' id1 = new_phreeqc_id() +!!nerr = DestroyIPhreeqc(id1) +!!STOP nerr = SetSelectedOutputFileOn(id1,.TRUE.) nerr = SetOutputFileOn(id1,.TRUE.) diff --git a/src/ErrorReporter.hxx b/src/ErrorReporter.hxx index 77124f84..38ac0061 100644 --- a/src/ErrorReporter.hxx +++ b/src/ErrorReporter.hxx @@ -10,8 +10,15 @@ class IErrorReporter public: virtual size_t AddError(const char* error_msg) = 0; virtual void Clear(void) = 0; + virtual ~IErrorReporter(void) = 0; }; +// Note: this is req'd in order for subclass dtors to be called +// +IErrorReporter::~IErrorReporter(void) +{ +} + template class CErrorReporter : public IErrorReporter {