diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp index c295a8a650a..a53eb50adb2 100644 --- a/src/plugins/clangformat/clangformatbaseindenter.cpp +++ b/src/plugins/clangformat/clangformatbaseindenter.cpp @@ -357,8 +357,10 @@ TextEditor::Replacements ClangFormatBaseIndenter::replacements(QByteArray buffer adjustFormatStyleForLineBreak(style, replacementsToKeep); if (typedChar == QChar::Null) { if (replacementsToKeep == ReplacementsToKeep::IndentAndBefore) { - buffer.insert(utf8Offset - 1, " //"); - utf8Offset += 3; + if (utf8Offset > 0) { + buffer.insert(utf8Offset - 1, " //"); + utf8Offset += 3; + } utf8Length += forceIndentWithExtraText(buffer, cursorPositionInEditor < 0 ? endBlock diff --git a/src/plugins/clangformat/clangformatindenter.cpp b/src/plugins/clangformat/clangformatindenter.cpp index ef9dbf5d1ca..42cedb7b6c9 100644 --- a/src/plugins/clangformat/clangformatindenter.cpp +++ b/src/plugins/clangformat/clangformatindenter.cpp @@ -84,7 +84,10 @@ Utils::optional ClangFormatIndenter::tabSettings() const int ClangFormatIndenter::lastSaveRevision() const { - return qobject_cast(m_doc->documentLayout())->lastSaveRevision; + auto *layout = qobject_cast(m_doc->documentLayout()); + if (!layout) + return 0; + return layout->lastSaveRevision; } bool ClangFormatIndenter::formatOnSave() const