forked from qt-creator/qt-creator
Editor: Fix crash when setting language id before document
Change-Id: I735484c7036f6c8b26142d114348295d9b12ae97 Reviewed-by: Knud Dollereder <knud.dollereder@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -6020,20 +6020,24 @@ Id TextEditorWidget::languageSettingsId() const
|
|||||||
|
|
||||||
void TextEditorWidget::setCodeStyle(ICodeStylePreferences *preferences)
|
void TextEditorWidget::setCodeStyle(ICodeStylePreferences *preferences)
|
||||||
{
|
{
|
||||||
textDocument()->indenter()->setCodeStylePreferences(preferences);
|
TextDocument *document = d->m_document.data();
|
||||||
|
// Not fully initialized yet... wait for TextEditorWidgetPrivate::setupDocumentSignals
|
||||||
|
if (!document)
|
||||||
|
return;
|
||||||
|
document->indenter()->setCodeStylePreferences(preferences);
|
||||||
if (d->m_codeStylePreferences) {
|
if (d->m_codeStylePreferences) {
|
||||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||||
d->m_document.data(), &TextDocument::setTabSettings);
|
document, &TextDocument::setTabSettings);
|
||||||
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
disconnect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||||
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
||||||
}
|
}
|
||||||
d->m_codeStylePreferences = preferences;
|
d->m_codeStylePreferences = preferences;
|
||||||
if (d->m_codeStylePreferences) {
|
if (d->m_codeStylePreferences) {
|
||||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentTabSettingsChanged,
|
||||||
d->m_document.data(), &TextDocument::setTabSettings);
|
document, &TextDocument::setTabSettings);
|
||||||
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
connect(d->m_codeStylePreferences, &ICodeStylePreferences::currentValueChanged,
|
||||||
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
this, &TextEditorWidget::slotCodeStyleSettingsChanged);
|
||||||
d->m_document->setTabSettings(d->m_codeStylePreferences->currentTabSettings());
|
document->setTabSettings(d->m_codeStylePreferences->currentTabSettings());
|
||||||
slotCodeStyleSettingsChanged(d->m_codeStylePreferences->currentValue());
|
slotCodeStyleSettingsChanged(d->m_codeStylePreferences->currentValue());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user