From 7310422053ad1a16d45de3e982cdc541bf780257 Mon Sep 17 00:00:00 2001 From: Brian Cox Date: Mon, 28 Aug 2017 20:08:38 -0700 Subject: [PATCH] Clean up iCodeConverter singleton on exit --- src/core/codeconvert.cpp | 6 ++++++ src/core/codeconvert.h | 2 ++ src/core/core.cpp | 5 ++++- src/core/core.h | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/core/codeconvert.cpp b/src/core/codeconvert.cpp index 559d335..7978278 100644 --- a/src/core/codeconvert.cpp +++ b/src/core/codeconvert.cpp @@ -111,6 +111,12 @@ iCodeConverter* iCodeConverter::GetInstance() return m_pInst; } +void iCodeConverter::Finit() +{ + delete m_pInst; + m_pInst = 0; +} + iCodeConverter* iCodeConverter::CreateConverter() { cDebug d("iCodeConverter::CreateConverter()"); diff --git a/src/core/codeconvert.h b/src/core/codeconvert.h index 3c74661..1539a72 100644 --- a/src/core/codeconvert.h +++ b/src/core/codeconvert.h @@ -93,6 +93,8 @@ class iCodeConverter public: static iCodeConverter* GetInstance(); // Singleton + static void Finit(); + /// Subclass Responsibilities diff --git a/src/core/core.cpp b/src/core/core.cpp index a84ebb2..039400a 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -60,5 +60,8 @@ cCore::cCore() iCodeConverter::GetInstance(); } - +cCore::~cCore() +{ + iCodeConverter::Finit(); +} diff --git a/src/core/core.h b/src/core/core.h index 87c3621..3e17c6b 100644 --- a/src/core/core.h +++ b/src/core/core.h @@ -54,6 +54,7 @@ TSS_BeginPackage( cCore ) public: cCore(); + ~cCore(); TSS_EndPackage( cCore )