aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/texteditor/basetexteditor.cpp
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-09-18 13:19:51 +0200
committerhjk <hjk121@nokiamail.com>2014-09-18 13:40:58 +0200
commit43a2c5ddf8017aaa232ab1bcab7ea8d108c653af (patch)
treeb9fa7a077c621fe7868ea0768c0e08507e624223 /src/plugins/texteditor/basetexteditor.cpp
parentf0e2708d3e516a2999818dfc85d0d4809b21171e (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.cpp19
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);
}