DiffEditor: replace carriage return chars with spaces.

Make sure text block is valid before using its layout.

Task-number: QTCREATORBUG-12056
Change-Id: I618edfcf549b675282587aed577810b806692bd4
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
jkobus
2014-04-15 16:12:10 +02:00
committed by Jarek Kobus
parent 4909428220
commit 18fc5e3f91

View File

@@ -287,6 +287,9 @@ void MultiHighlighter::highlightBlock(const QString &text)
QTextBlock documentBlock = currentDocument->findBlockByNumber( QTextBlock documentBlock = currentDocument->findBlockByNumber(
block.blockNumber() - m_editor->blockNumberForFileIndex(fileIndex)); block.blockNumber() - m_editor->blockNumberForFileIndex(fileIndex));
if (!documentBlock.isValid())
return;
QList<QTextLayout::FormatRange> formats = documentBlock.layout()->additionalFormats(); QList<QTextLayout::FormatRange> formats = documentBlock.layout()->additionalFormats();
setExtraAdditionalFormats(block, formats); setExtraAdditionalFormats(block, formats);
} }
@@ -960,6 +963,8 @@ void SideBySideDiffEditorWidget::showDiff()
blockNumber++; blockNumber++;
} }
} }
leftText.replace(QChar::CarriageReturn, QChar::Space);
rightText.replace(QChar::CarriageReturn, QChar::Space);
leftTexts += leftText; leftTexts += leftText;
rightTexts += rightText; rightTexts += rightText;
leftDocs.append(qMakePair(contextFileData.leftFileInfo, leftText)); leftDocs.append(qMakePair(contextFileData.leftFileInfo, leftText));