aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ViewStyle.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/ViewStyle.cxx')
-rw-r--r--src/ViewStyle.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/ViewStyle.cxx b/src/ViewStyle.cxx
index 6611439f5..1cf95cca2 100644
--- a/src/ViewStyle.cxx
+++ b/src/ViewStyle.cxx
@@ -25,11 +25,15 @@ MarginStyle::MarginStyle() :
// A list of the fontnames - avoids wasting space in each style
FontNames::FontNames() {
+ size = 8;
+ names = new char *[size];
max = 0;
}
FontNames::~FontNames() {
Clear();
+ delete []names;
+ names = 0;
}
void FontNames::Clear() {
@@ -47,6 +51,17 @@ const char *FontNames::Save(const char *name) {
return names[i];
}
}
+ if (max >= size) {
+ // Grow array
+ int sizeNew = size * 2;
+ char **namesNew = new char *[sizeNew];
+ for (int j=0;j<max;j++) {
+ namesNew[j] = names[j];
+ }
+ delete []names;
+ names = namesNew;
+ size = sizeNew;
+ }
names[max] = new char[strlen(name) + 1];
strcpy(names[max], name);
max++;