aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/ViewStyle.cxx23
-rw-r--r--src/ViewStyle.h2
-rw-r--r--win32/deps.mak5
-rw-r--r--win32/scintilla.mak4
4 files changed, 12 insertions, 22 deletions
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index 39661ddc2..7a0b146f8 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -19,9 +19,7 @@
#include "Scintilla.h"
#include "Position.h"
-#include "SplitVector.h"
-#include "Partitioning.h"
-#include "RunStyles.h"
+#include "UniqueString.h"
#include "Indicator.h"
#include "XPM.h"
#include "LineMarker.h"
@@ -45,26 +43,21 @@ FontNames::~FontNames() {
}
void FontNames::Clear() {
- for (const char *name : names) {
- delete []name;
- }
names.clear();
}
const char *FontNames::Save(const char *name) {
if (!name)
- return 0;
+ return nullptr;
- for (const char *nm : names) {
- if (strcmp(nm, name) == 0) {
- return nm;
+ for (const UniqueString &nm : names) {
+ if (strcmp(nm.get(), name) == 0) {
+ return nm.get();
}
}
- const size_t lenName = strlen(name) + 1;
- char *nameSave(new char[lenName]);
- memcpy(nameSave, name, lenName);
- names.push_back(nameSave);
- return nameSave;
+
+ names.push_back(UniqueStringCopy(name));
+ return names.back().get();
}
FontRealised::FontRealised() {
diff --git a/src/ViewStyle.h b/src/ViewStyle.h
index ad482c814..7210fa610 100644
--- a/src/ViewStyle.h
+++ b/src/ViewStyle.h
@@ -29,7 +29,7 @@ public:
*/
class FontNames {
private:
- std::vector<const char *> names;
+ std::vector<UniqueString> names;
public:
FontNames();
// FontNames objects can not be copied.
diff --git a/win32/deps.mak b/win32/deps.mak
index 330eaec73..4b0dff17e 100644
--- a/win32/deps.mak
+++ b/win32/deps.mak
@@ -135,9 +135,8 @@ Style.o: ../src/Style.cxx ../include/Platform.h ../include/Scintilla.h \
UniConversion.o: ../src/UniConversion.cxx ../src/UniConversion.h
ViewStyle.o: ../src/ViewStyle.cxx ../include/Platform.h \
../include/Scintilla.h ../include/Sci_Position.h ../src/Position.h \
- ../src/SplitVector.h ../src/Partitioning.h ../src/RunStyles.h \
- ../src/Indicator.h ../src/XPM.h ../src/LineMarker.h ../src/Style.h \
- ../src/ViewStyle.h
+ ../src/UniqueString.h ../src/Indicator.h ../src/XPM.h \
+ ../src/LineMarker.h ../src/Style.h ../src/ViewStyle.h
XPM.o: ../src/XPM.cxx ../include/Platform.h ../src/XPM.h
Accessor.o: ../lexlib/Accessor.cxx ../include/ILexer.h \
../include/Sci_Position.h ../include/Scintilla.h ../include/SciLexer.h \
diff --git a/win32/scintilla.mak b/win32/scintilla.mak
index 339d9e533..c13eedc7d 100644
--- a/win32/scintilla.mak
+++ b/win32/scintilla.mak
@@ -1072,9 +1072,7 @@ $(DIR_O)\ViewStyle.obj: \
../include/Scintilla.h \
../include/Sci_Position.h \
../src/Position.h \
- ../src/SplitVector.h \
- ../src/Partitioning.h \
- ../src/RunStyles.h \
+ ../src/UniqueString.h \
../src/Indicator.h \
../src/XPM.h \
../src/LineMarker.h \