From 7becad30859bf44144ec7a35d29dc1500f2670d1 Mon Sep 17 00:00:00 2001 From: nyamatongwe Date: Wed, 5 Jul 2000 13:49:29 +0000 Subject: Fixed BoundsChecker warnings including some leaks. --- src/CellBuffer.cxx | 4 ++++ src/DocumentAccessor.h | 2 +- src/Editor.cxx | 4 +++- src/SVector.h | 6 +++++- src/ScintillaBase.cxx | 7 ++++++- 5 files changed, 19 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/CellBuffer.cxx b/src/CellBuffer.cxx index 3f094ce96..130b289e6 100644 --- a/src/CellBuffer.cxx +++ b/src/CellBuffer.cxx @@ -119,7 +119,11 @@ void MarkerHandleSet::CombineWith(MarkerHandleSet *other) { LineVector::LineVector() { linesData = 0; lines = 0; + size = 0; levels = 0; + sizeLevels = 0; + handleCurrent = 1; + Init(); } diff --git a/src/DocumentAccessor.h b/src/DocumentAccessor.h index 37a9db414..ccc05fee9 100644 --- a/src/DocumentAccessor.h +++ b/src/DocumentAccessor.h @@ -24,7 +24,7 @@ protected: public: DocumentAccessor(Document *pdoc_, PropSet &props_) : Accessor(), pdoc(pdoc_), props(props_), - lenDoc(-1), validLen(0), chFlags(0) { + lenDoc(-1), validLen(0), chFlags(0), chWhile(0) { } ~DocumentAccessor(); char StyleAt(int position); diff --git a/src/Editor.cxx b/src/Editor.cxx index f1c497db2..3cf2c179e 100644 --- a/src/Editor.cxx +++ b/src/Editor.cxx @@ -735,7 +735,7 @@ void Editor::LayoutLine(int line, Surface *surface, ViewStyle &vstyle, LineLayou int styleMask = pdoc->stylingBitsMask; ll.xHighlightGuide = 0; for (int charInDoc = posLineStart; - charInDoc < posLineEnd && numCharsInLine < LineLayout::maxLineLength - 1; + charInDoc < posLineEnd && numCharsInLine < LineLayout::maxLineLength - 2; charInDoc++) { char chDoc = pdoc->CharAt(charInDoc); styleByte = pdoc->StyleAt(charInDoc); @@ -749,11 +749,13 @@ void Editor::LayoutLine(int line, Surface *surface, ViewStyle &vstyle, LineLayou ll.chars[numCharsInLine] = 0; ll.styles[numCharsInLine] = styleByte; // For eolFilled ll.indicators[numCharsInLine] = 0; + ll.indicators[numCharsInLine+1] = 0; // Layout the line, determining the position of each character int startseg = 0; int startsegx = 0; ll.positions[0] = 0; + ll.positions[numCharsInLine + 1] = 0; unsigned int tabWidth = vstyle.spaceWidth * pdoc->tabInChars; for (int charInLine = 0; charInLine < numCharsInLine; charInLine++) { diff --git a/src/SVector.h b/src/SVector.h index 550dd87eb..9a260542b 100644 --- a/src/SVector.h +++ b/src/SVector.h @@ -30,9 +30,13 @@ class SVector { return; } size = newSize; - for (unsigned int i=0; i