aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Editor.cxx9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/Editor.cxx b/src/Editor.cxx
index c8efe0a6e..0a54ba2aa 100644
--- a/src/Editor.cxx
+++ b/src/Editor.cxx
@@ -1410,8 +1410,9 @@ void Editor::NeedWrapping(int docLineStartWrapping, int docLineEndWrapping) {
docLastLineToWrap = pdoc->LinesTotal();
}
// Wrap lines during idle.
- if (docLastLineToWrap != docLineLastWrapped)
+ if (docLastLineToWrap != docLineLastWrapped) {
SetIdle(true);
+ }
}
// Check if wrapping needed and perform any needed wrapping.
@@ -3408,7 +3409,7 @@ void Editor::CheckModificationForWrap(DocModification mh) {
llc.Invalidate(LineLayout::llCheckTextAndStyle);
if (wrapState != eWrapNone) {
int lineDoc = pdoc->LineFromPosition(mh.position);
- if (mh.linesAdded == 0) {
+ if (mh.linesAdded <= 0) {
AutoSurface surface(this);
AutoLineLayout ll(llc, RetrieveLineLayout(lineDoc));
if (surface && ll) {
@@ -3417,11 +3418,9 @@ void Editor::CheckModificationForWrap(DocModification mh) {
NeedWrapping(lineDoc - 1, lineDoc + 1);
Redraw();
}
- } else {
- NeedWrapping(lineDoc, lineDoc + 1);
}
} else {
- NeedWrapping(lineDoc, lineDoc + 1);
+ NeedWrapping(lineDoc, lineDoc + 1 + mh.linesAdded);
}
}
}