diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 39408ae0ff0..fb34d45174c 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -1066,7 +1066,9 @@ void BaseTextEditor::keyPressEvent(QKeyEvent *e) } } } - if (!electricChar.isNull()) + + bool doEditBlock = !(electricChar.isNull() && autoText.isEmpty()); + if (doEditBlock) cursor.beginEditBlock(); cursor.insertText(text); @@ -1076,10 +1078,12 @@ void BaseTextEditor::keyPressEvent(QKeyEvent *e) cursor.insertText(autoText); cursor.setPosition(pos); } - if (!electricChar.isNull()) { + if (!electricChar.isNull()) indent(document(), cursor, electricChar); + + if (doEditBlock) cursor.endEditBlock(); - } + setTextCursor(cursor); }