diff options
author | hjk <hjk121@nokiamail.com> | 2014-09-18 13:19:51 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-09-18 13:40:58 +0200 |
commit | 43a2c5ddf8017aaa232ab1bcab7ea8d108c653af (patch) | |
tree | b9fa7a077c621fe7868ea0768c0e08507e624223 /src/plugins/texteditor/basetexteditor.cpp | |
parent | f0e2708d3e516a2999818dfc85d0d4809b21171e (diff) |
TextEditor: Make sure "global" connections are properly destroyed
Task-number: QTCREATORBUG-13054
Change-Id: I32234836dc893075978dbc5fe43d696bc0f228f4
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/texteditor/basetexteditor.cpp')
-rw-r--r-- | src/plugins/texteditor/basetexteditor.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 0e78f36d0e..0f6d13a56b 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -310,6 +310,8 @@ public: void _q_animateUpdate(int position, QPointF lastPos, QRectF rect); void updateCodeFoldingVisible(); + void reconfigure(); + public: BaseTextEditorWidget *q; QToolBar *m_toolBar; @@ -2709,6 +2711,11 @@ void BaseTextEditorWidgetPrivate::updateCodeFoldingVisible() } } +void BaseTextEditorWidgetPrivate::reconfigure() +{ + q->configureMimeType(MimeDatabase::findByFile(m_document->filePath())); +} + bool BaseTextEditorWidget::codeFoldingVisible() const { return d->m_codeFoldingVisible; @@ -7154,15 +7161,11 @@ void BaseTextEditorWidget::setupAsPlainEditor() textDocument()->setMimeType(QLatin1String(TextEditor::Constants::C_TEXTEDITOR_MIMETYPE_TEXT)); - auto reconf = [this]() { - MimeType mimeType; - if (textDocument()) - mimeType = MimeDatabase::findByFile(textDocument()->filePath()); - configureMimeType(mimeType); - }; + connect(textDocument(), &IDocument::filePathChanged, + d, &BaseTextEditorWidgetPrivate::reconfigure); - connect(textDocument(), &IDocument::filePathChanged, reconf); - connect(Manager::instance(), &Manager::mimeTypesRegistered, reconf); + connect(Manager::instance(), &Manager::mimeTypesRegistered, + d, &BaseTextEditorWidgetPrivate::reconfigure); updateEditorInfoBar(this); } |