basetexteditor/qmljseditor: fix destructor problem

solve problems depending on the destructor sequence:
- avoid setting code style to a destroyed code style
- avoid hiding a potentially destroyed pane
  (which will be cleared in any case)

Task-number: QTCREATORBUG-8818
Change-Id: Idd7817d99bf4ff04c5e152b00857f6e35825fd37
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Fawzi Mohamed
2013-03-05 13:47:02 +01:00
parent bb331b548f
commit c933d42370
2 changed files with 4 additions and 2 deletions

View File

@@ -532,7 +532,6 @@ QmlJSTextEditorWidget::QmlJSTextEditorWidget(QWidget *parent) :
QmlJSTextEditorWidget::~QmlJSTextEditorWidget()
{
hideContextPane();
m_semanticInfoUpdater->abort();
m_semanticInfoUpdater->wait();
}

View File

@@ -4614,9 +4614,12 @@ void BaseTextEditorWidget::onCodeStylePreferencesDestroyed()
{
if (sender() != d->m_codeStylePreferences)
return;
ICodeStylePreferences *prefs = TextEditorSettings::instance()->codeStyle(languageSettingsId());
if (prefs == d->m_codeStylePreferences)
prefs = 0;
// avoid failing disconnects, m_codeStylePreferences has already been reduced to QObject
d->m_codeStylePreferences = 0;
setCodeStyle(TextEditorSettings::instance()->codeStyle(languageSettingsId()));
setCodeStyle(prefs);
}
void BaseTextEditorWidget::slotCodeStyleSettingsChanged(const QVariant &)