aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2021-03-18 19:50:34 +1100
committerNeil <nyamatongwe@gmail.com>2021-03-18 19:50:34 +1100
commit6af47b53d52c29474bfc551700f8394dbf1dbc04 (patch)
tree12306e8c4586c60ebcc64acac5018b570b69605f
parent402e089842d5aa2bb3774a665e26c42dc91fa5b4 (diff)
downloadscintilla-mirror-6af47b53d52c29474bfc551700f8394dbf1dbc04.tar.gz
Use unique_ptr for CaseFolderForEncoding to show transfer of ownership.
-rw-r--r--cocoa/ScintillaCocoa.h2
-rw-r--r--cocoa/ScintillaCocoa.mm8
-rwxr-xr-xgtk/ScintillaGTK.cxx8
-rwxr-xr-xgtk/ScintillaGTK.h2
-rw-r--r--qt/ScintillaEditBase/ScintillaQt.cpp8
-rw-r--r--qt/ScintillaEditBase/ScintillaQt.h2
-rw-r--r--src/Document.cxx4
-rw-r--r--src/Document.h2
-rw-r--r--src/Editor.cxx4
-rw-r--r--src/Editor.h2
-rw-r--r--win32/ScintillaWin.cxx10
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);
}
}
}