Fixing end-of-line detection in the wordwrap finder.
authorManuel Nickschas <sputnick@quassel-irc.org>
Sat, 9 Aug 2008 15:05:14 +0000 (17:05 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sat, 9 Aug 2008 15:05:43 +0000 (17:05 +0200)
This fixes blank lines for me, but I'd still be surprised if that fixes the issues
on Mac and Windows too, since those seem to be unrelated to this bug. Please test anyway
and report...

src/qtui/chatlinemodelitem.cpp

index f79b4fc..73b1533 100644 (file)
@@ -94,11 +94,17 @@ void ChatLineModelItem::computeWrapList() {
 
   do {
     idx = finder.toNextBoundary();
-    if(idx < 0) idx = _contents.plainText.length();
-    wordStart = finder.boundaryReasons().testFlag(QTextBoundaryFinder::StartWord);
-    wordEnd = finder.boundaryReasons().testFlag(QTextBoundaryFinder::EndWord);
+    if(idx < 0) {
+      idx = _contents.plainText.length();
+      wordStart = false;
+      wordEnd = false;
+      mode = SearchStart;
+    } else {
+      wordStart = finder.boundaryReasons().testFlag(QTextBoundaryFinder::StartWord);
+      wordEnd = finder.boundaryReasons().testFlag(QTextBoundaryFinder::EndWord);
+    }
 
-    //qDebug() << wordStart << wordEnd << _contents.plainText.left(idx) << _contents.plainText.mid(idx);
+    //if(flg) qDebug() << idx << mode << wordStart << wordEnd << _contents.plainText.left(idx) << _contents.plainText.mid(idx);
 
     if(mode == SearchEnd || (!wordStart && wordEnd)) {
       if(wordStart || !wordEnd) continue;