forked from qt-creator/qt-creator
ClangFormat: Fix crash when m_fileName is empty
Fixes: QTCREATORBUG-28600 Change-Id: I3e0d64eb892daa5c63abe7ec81b258bf96fcdb1b Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -464,10 +464,9 @@ Utils::Text::Replacements ClangFormatBaseIndenter::replacements(QByteArray buffe
|
|||||||
bool secondTry) const
|
bool secondTry) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(replacementsToKeep != ReplacementsToKeep::All, return Utils::Text::Replacements());
|
QTC_ASSERT(replacementsToKeep != ReplacementsToKeep::All, return Utils::Text::Replacements());
|
||||||
|
QTC_ASSERT(!m_fileName.isEmpty(), return {});
|
||||||
|
|
||||||
clang::format::FormatStyle style = styleForFile();
|
|
||||||
QByteArray originalBuffer = buffer;
|
QByteArray originalBuffer = buffer;
|
||||||
|
|
||||||
int utf8Offset = Utils::Text::utf8NthLineOffset(m_doc, buffer, startBlock.blockNumber() + 1);
|
int utf8Offset = Utils::Text::utf8NthLineOffset(m_doc, buffer, startBlock.blockNumber() + 1);
|
||||||
QTC_ASSERT(utf8Offset >= 0, return Utils::Text::Replacements(););
|
QTC_ASSERT(utf8Offset >= 0, return Utils::Text::Replacements(););
|
||||||
int utf8Length = selectedLines(m_doc, startBlock, endBlock).toUtf8().size();
|
int utf8Length = selectedLines(m_doc, startBlock, endBlock).toUtf8().size();
|
||||||
@@ -476,6 +475,7 @@ Utils::Text::Replacements ClangFormatBaseIndenter::replacements(QByteArray buffe
|
|||||||
if (replacementsToKeep == ReplacementsToKeep::IndentAndBefore)
|
if (replacementsToKeep == ReplacementsToKeep::IndentAndBefore)
|
||||||
rangeStart = formattingRangeStart(startBlock, buffer, lastSaveRevision());
|
rangeStart = formattingRangeStart(startBlock, buffer, lastSaveRevision());
|
||||||
|
|
||||||
|
clang::format::FormatStyle style = styleForFile();
|
||||||
adjustFormatStyleForLineBreak(style, replacementsToKeep);
|
adjustFormatStyleForLineBreak(style, replacementsToKeep);
|
||||||
if (replacementsToKeep == ReplacementsToKeep::OnlyIndent) {
|
if (replacementsToKeep == ReplacementsToKeep::OnlyIndent) {
|
||||||
CharacterContext currentCharContext = CharacterContext::Unknown;
|
CharacterContext currentCharContext = CharacterContext::Unknown;
|
||||||
@@ -527,6 +527,7 @@ Utils::Text::Replacements ClangFormatBaseIndenter::replacements(QByteArray buffe
|
|||||||
Utils::Text::Replacements ClangFormatBaseIndenter::format(
|
Utils::Text::Replacements ClangFormatBaseIndenter::format(
|
||||||
const TextEditor::RangesInLines &rangesInLines)
|
const TextEditor::RangesInLines &rangesInLines)
|
||||||
{
|
{
|
||||||
|
QTC_ASSERT(!m_fileName.isEmpty(), return {});
|
||||||
if (rangesInLines.empty())
|
if (rangesInLines.empty())
|
||||||
return Utils::Text::Replacements();
|
return Utils::Text::Replacements();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user