diff options
author | Neil <nyamatongwe@gmail.com> | 2021-03-18 19:50:34 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2021-03-18 19:50:34 +1100 |
commit | 6af47b53d52c29474bfc551700f8394dbf1dbc04 (patch) | |
tree | 12306e8c4586c60ebcc64acac5018b570b69605f | |
parent | 402e089842d5aa2bb3774a665e26c42dc91fa5b4 (diff) | |
download | scintilla-mirror-6af47b53d52c29474bfc551700f8394dbf1dbc04.tar.gz |
Use unique_ptr for CaseFolderForEncoding to show transfer of ownership.
-rw-r--r-- | cocoa/ScintillaCocoa.h | 2 | ||||
-rw-r--r-- | cocoa/ScintillaCocoa.mm | 8 | ||||
-rwxr-xr-x | gtk/ScintillaGTK.cxx | 8 | ||||
-rwxr-xr-x | gtk/ScintillaGTK.h | 2 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.cpp | 8 | ||||
-rw-r--r-- | qt/ScintillaEditBase/ScintillaQt.h | 2 | ||||
-rw-r--r-- | src/Document.cxx | 4 | ||||
-rw-r--r-- | src/Document.h | 2 | ||||
-rw-r--r-- | src/Editor.cxx | 4 | ||||
-rw-r--r-- | src/Editor.h | 2 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 10 |
11 files changed, 26 insertions, 26 deletions
diff --git a/cocoa/ScintillaCocoa.h b/cocoa/ScintillaCocoa.h index 6d446a9bf..b94a30aa2 100644 --- a/cocoa/ScintillaCocoa.h +++ b/cocoa/ScintillaCocoa.h @@ -120,7 +120,7 @@ protected: void Redraw() override; void Init(); - CaseFolder *CaseFolderForEncoding() override; + std::unique_ptr<CaseFolder> CaseFolderForEncoding() override; std::string CaseMapString(const std::string &s, int caseMapping) override; void CancelModes() override; diff --git a/cocoa/ScintillaCocoa.mm b/cocoa/ScintillaCocoa.mm index b4e9375c2..657651908 100644 --- a/cocoa/ScintillaCocoa.mm +++ b/cocoa/ScintillaCocoa.mm @@ -585,14 +585,14 @@ public: } }; -CaseFolder *ScintillaCocoa::CaseFolderForEncoding() { +std::unique_ptr<CaseFolder> ScintillaCocoa::CaseFolderForEncoding() { if (pdoc->dbcsCodePage == SC_CP_UTF8) { - return new CaseFolderUnicode(); + return std::make_unique<CaseFolderUnicode>(); } else { CFStringEncoding encoding = EncodingFromCharacterSet(IsUnicodeMode(), vs.styles[STYLE_DEFAULT].characterSet); if (pdoc->dbcsCodePage == 0) { - CaseFolderTable *pcf = new CaseFolderTable(); + std::unique_ptr<CaseFolderTable> pcf = std::make_unique<CaseFolderTable>(); pcf->StandardASCII(); // Only for single byte encodings for (int i=0x80; i<0x100; i++) { @@ -615,7 +615,7 @@ CaseFolder *ScintillaCocoa::CaseFolderForEncoding() { } return pcf; } else { - return new CaseFolderDBCS(encoding); + return std::make_unique<CaseFolderDBCS>(encoding); } } } diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index 0383745fb..61ce04ad0 100755 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -1150,14 +1150,14 @@ public: } }; -CaseFolder *ScintillaGTK::CaseFolderForEncoding() { +std::unique_ptr<CaseFolder> ScintillaGTK::CaseFolderForEncoding() { if (pdoc->dbcsCodePage == SC_CP_UTF8) { - return new CaseFolderUnicode(); + return std::make_unique<CaseFolderUnicode>(); } else { const char *charSetBuffer = CharacterSetID(); if (charSetBuffer) { if (pdoc->dbcsCodePage == 0) { - CaseFolderTable *pcf = new CaseFolderTable(); + std::unique_ptr<CaseFolderTable> pcf = std::make_unique<CaseFolderTable>(); pcf->StandardASCII(); // Only for single byte encodings for (int i=0x80; i<0x100; i++) { @@ -1180,7 +1180,7 @@ CaseFolder *ScintillaGTK::CaseFolderForEncoding() { } return pcf; } else { - return new CaseFolderDBCS(charSetBuffer); + return std::make_unique<CaseFolderDBCS>(charSetBuffer); } } return nullptr; diff --git a/gtk/ScintillaGTK.h b/gtk/ScintillaGTK.h index d83082517..a671f5b7a 100755 --- a/gtk/ScintillaGTK.h +++ b/gtk/ScintillaGTK.h @@ -123,7 +123,7 @@ private: void NotifyKey(int key, int modifiers); void NotifyURIDropped(const char *list); const char *CharacterSetID() const; - CaseFolder *CaseFolderForEncoding() override; + std::unique_ptr<CaseFolder> CaseFolderForEncoding() override; std::string CaseMapString(const std::string &s, int caseMapping) override; int KeyDefault(int key, int modifiers) override; void CopyToClipboard(const SelectionText &selectedText) override; diff --git a/qt/ScintillaEditBase/ScintillaQt.cpp b/qt/ScintillaEditBase/ScintillaQt.cpp index 707862416..374027bd0 100644 --- a/qt/ScintillaEditBase/ScintillaQt.cpp +++ b/qt/ScintillaEditBase/ScintillaQt.cpp @@ -557,15 +557,15 @@ public: } }; -CaseFolder *ScintillaQt::CaseFolderForEncoding() +std::unique_ptr<CaseFolder> ScintillaQt::CaseFolderForEncoding() { if (pdoc->dbcsCodePage == SC_CP_UTF8) { - return new CaseFolderUnicode(); + return std::make_unique<CaseFolderUnicode>(); } else { const char *charSetBuffer = CharacterSetIDOfDocument(); if (charSetBuffer) { if (pdoc->dbcsCodePage == 0) { - CaseFolderTable *pcf = new CaseFolderTable(); + std::unique_ptr<CaseFolderTable> pcf = std::make_unique<CaseFolderTable>(); pcf->StandardASCII(); QTextCodec *codec = QTextCodec::codecForName(charSetBuffer); // Only for single byte encodings @@ -583,7 +583,7 @@ CaseFolder *ScintillaQt::CaseFolderForEncoding() } return pcf; } else { - return new CaseFolderDBCS(QTextCodec::codecForName(charSetBuffer)); + return std::make_unique<CaseFolderDBCS>(QTextCodec::codecForName(charSetBuffer)); } } return nullptr; diff --git a/qt/ScintillaEditBase/ScintillaQt.h b/qt/ScintillaEditBase/ScintillaQt.h index ef326e2e3..5a6f9efa1 100644 --- a/qt/ScintillaEditBase/ScintillaQt.h +++ b/qt/ScintillaEditBase/ScintillaQt.h @@ -135,7 +135,7 @@ private: const char *CharacterSetIDOfDocument() const; QString StringFromDocument(const char *s) const; QByteArray BytesForDocument(const QString &text) const; - CaseFolder *CaseFolderForEncoding() override; + std::unique_ptr<CaseFolder> CaseFolderForEncoding() override; std::string CaseMapString(const std::string &s, int caseMapping) override; void CreateCallTipWindow(PRectangle rc) override; diff --git a/src/Document.cxx b/src/Document.cxx index 5f80ee50b..63b90d69f 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -1971,8 +1971,8 @@ bool Document::HasCaseFolder() const noexcept { return pcf != nullptr; } -void Document::SetCaseFolder(CaseFolder *pcf_) noexcept { - pcf.reset(pcf_); +void Document::SetCaseFolder(std::unique_ptr<CaseFolder> pcf_) noexcept { + pcf = std::move(pcf_); } Document::CharacterExtracted Document::ExtractCharacter(Sci::Position position) const noexcept { diff --git a/src/Document.h b/src/Document.h index ce0178695..91163713b 100644 --- a/src/Document.h +++ b/src/Document.h @@ -439,7 +439,7 @@ public: bool MatchesWordOptions(bool word, bool wordStart, Sci::Position pos, Sci::Position length) const; bool HasCaseFolder() const noexcept; - void SetCaseFolder(CaseFolder *pcf_) noexcept; + void SetCaseFolder(std::unique_ptr<CaseFolder> pcf_) noexcept; Sci::Position FindText(Sci::Position minPos, Sci::Position maxPos, const char *search, int flags, Sci::Position *length); const char *SubstituteByPosition(const char *text, Sci::Position *length); int LineCharacterIndex() const noexcept; diff --git a/src/Editor.cxx b/src/Editor.cxx index 54336c19f..ab5c9c811 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -4057,9 +4057,9 @@ public: }; -CaseFolder *Editor::CaseFolderForEncoding() { +std::unique_ptr<CaseFolder> Editor::CaseFolderForEncoding() { // Simple default that only maps ASCII upper case to lower case. - return new CaseFolderASCII(); + return std::make_unique<CaseFolderASCII>(); } /** diff --git a/src/Editor.h b/src/Editor.h index c08c8288e..548c72ed8 100644 --- a/src/Editor.h +++ b/src/Editor.h @@ -481,7 +481,7 @@ protected: // ScintillaBase subclass needs access to much of Editor void Indent(bool forwards); - virtual CaseFolder *CaseFolderForEncoding(); + virtual std::unique_ptr<CaseFolder> CaseFolderForEncoding(); Sci::Position FindText(uptr_t wParam, sptr_t lParam); void SearchAnchor(); Sci::Position SearchText(unsigned int iMessage, uptr_t wParam, sptr_t lParam); diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index 6693ffb7c..d96199170 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -428,7 +428,7 @@ class ScintillaWin : int GetCtrlID() override; void NotifyParent(SCNotification scn) override; void NotifyDoubleClick(Point pt, int modifiers) override; - CaseFolder *CaseFolderForEncoding() override; + std::unique_ptr<CaseFolder> CaseFolderForEncoding() override; std::string CaseMapString(const std::string &s, int caseMapping) override; void Copy() override; bool CanPaste() override; @@ -2356,13 +2356,13 @@ public: } }; -CaseFolder *ScintillaWin::CaseFolderForEncoding() { +std::unique_ptr<CaseFolder> ScintillaWin::CaseFolderForEncoding() { const UINT cpDest = CodePageOfDocument(); if (cpDest == SC_CP_UTF8) { - return new CaseFolderUnicode(); + return std::make_unique<CaseFolderUnicode>(); } else { if (pdoc->dbcsCodePage == 0) { - CaseFolderTable *pcf = new CaseFolderTable(); + std::unique_ptr<CaseFolderTable> pcf = std::make_unique<CaseFolderTable>(); pcf->StandardASCII(); // Only for single byte encodings for (int i=0x80; i<0x100; i++) { @@ -2391,7 +2391,7 @@ CaseFolder *ScintillaWin::CaseFolderForEncoding() { } return pcf; } else { - return new CaseFolderDBCS(cpDest); + return std::make_unique<CaseFolderDBCS>(cpDest); } } } |