diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index bea58df3c88..bc4e605296c 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -1262,15 +1262,15 @@ TextEditorWidget::TextEditorWidget(QWidget *parent) { // "Needed", as the creation below triggers ChildEvents that are // passed to this object's event() which uses 'd'. - d = nullptr; - d = new TextEditorWidgetPrivate(this); - + d = std::make_unique(this); setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); setLayoutDirection(Qt::LeftToRight); viewport()->setMouseTracking(true); setFrameStyle(QFrame::NoFrame); } +TextEditorWidget::~TextEditorWidget() = default; + void TextEditorWidget::setTextDocument(const QSharedPointer &doc) { d->setDocument(doc); @@ -1449,12 +1449,6 @@ void TextEditorWidgetPrivate::setDocument(const QSharedPointer &do setupFromDefinition(currentDefinition()); } -TextEditorWidget::~TextEditorWidget() -{ - delete d; - d = nullptr; -} - void TextEditorWidget::print(QPrinter *printer) { const bool oldFullPage = printer->fullPage(); @@ -5796,7 +5790,7 @@ void TextEditorWidgetPrivate::paintRevisionMarker(QPainter &painter, void TextEditorWidget::extraAreaPaintEvent(QPaintEvent *e) { - ExtraAreaPaintEventData data(this, d); + ExtraAreaPaintEventData data(this, d.get()); QTC_ASSERT(data.documentLayout, return); QPainter painter(d->m_extraArea); @@ -9402,7 +9396,7 @@ void TextEditorWidget::setupGenericHighlighter() setLineSeparatorsAllowed(true); connect(textDocument(), &IDocument::filePathChanged, - d, &TextEditorWidgetPrivate::reconfigure); + d.get(), &TextEditorWidgetPrivate::reconfigure); } // diff --git a/src/plugins/texteditor/texteditor.h b/src/plugins/texteditor/texteditor.h index 85344a8dbd0..9f2a6f3b9c4 100644 --- a/src/plugins/texteditor/texteditor.h +++ b/src/plugins/texteditor/texteditor.h @@ -637,7 +637,7 @@ protected: virtual void slotCodeStyleSettingsChanged(const QVariant &); // Used in CppEditor private: - Internal::TextEditorWidgetPrivate *d; + std::unique_ptr d; friend class BaseTextEditor; friend class TextEditorFactory; friend class Internal::TextEditorFactoryPrivate;