X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fchatlinemodelitem.cpp;h=73b153301829b5ad1dc4c7e19158fe59efc4b442;hp=aebde9dd951b49cd163649a1b3495cbec39af8e9;hb=5329aa4c1e1ee6523994a675633469b5b4c8215c;hpb=8a630c9f7a01e24a2ae0d8aae8974d0b5509ad7d diff --git a/src/qtui/chatlinemodelitem.cpp b/src/qtui/chatlinemodelitem.cpp index aebde9dd..73b15330 100644 --- a/src/qtui/chatlinemodelitem.cpp +++ b/src/qtui/chatlinemodelitem.cpp @@ -73,7 +73,8 @@ void ChatLineModelItem::computeWrapList() { QList wplist; // use a temp list which we'll later copy into a QVector for efficiency QTextBoundaryFinder finder(QTextBoundaryFinder::Word, _contents.plainText); - int idx, oldidx; + int idx; + int oldidx = 0; bool wordStart = false; bool wordEnd = false; Mode mode = SearchEnd; ChatLineModel::Word word; @@ -93,13 +94,19 @@ 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(mode == SearchEnd || (!wordStart && wordEnd)) { if(wordStart || !wordEnd) continue; oldidx = idx; mode = SearchStart;