From fc9dfc86fc620d45edd546d9b75710452b241f61 Mon Sep 17 00:00:00 2001 From: wjx0912 Date: Thu, 8 Aug 2019 09:50:17 +0800 Subject: [PATCH] Make EncodingMapper singleton "new-less" Use the modern way to code Singleton to get rid of the allocation memory. Close #6031, close #6019 --- PowerEditor/src/EncodingMapper.cpp | 2 -- PowerEditor/src/EncodingMapper.h | 6 ++++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/PowerEditor/src/EncodingMapper.cpp b/PowerEditor/src/EncodingMapper.cpp index c2270758f..beadc6daf 100644 --- a/PowerEditor/src/EncodingMapper.cpp +++ b/PowerEditor/src/EncodingMapper.cpp @@ -83,8 +83,6 @@ static EncodingUnit encodings[] = { {20866, "koi8_r csKOI8R"} //IDM_FORMAT_KOI8R_CYRILLIC }; -EncodingMapper * EncodingMapper::_pSelf = new EncodingMapper; - bool isInListA(const char *token, const char *list) { if ((!token) || (!list)) return false; diff --git a/PowerEditor/src/EncodingMapper.h b/PowerEditor/src/EncodingMapper.h index cba52a65c..897162bf9 100644 --- a/PowerEditor/src/EncodingMapper.h +++ b/PowerEditor/src/EncodingMapper.h @@ -35,7 +35,10 @@ struct EncodingUnit { class EncodingMapper { public: - static EncodingMapper * getInstance() {return _pSelf;}; + static EncodingMapper * getInstance() { + static EncodingMapper _pSelf; + return &_pSelf; + }; int getEncodingFromIndex(int index) const; int getIndexFromEncoding(int encoding) const; int getEncodingFromString(const char * encodingAlias) const; @@ -43,7 +46,6 @@ public: private: EncodingMapper(){}; ~EncodingMapper(){}; - static EncodingMapper *_pSelf; EncodingUnit* _encodings = nullptr; };