Fix exit crash when having context help open.

Add a shutdown()-notification to MainWindow and
reset the context in it.

Task-number: 256386
Reviewed-by: con <qtc-committer@nokia.com>
This commit is contained in:
Friedemann Kleint
2009-06-23 14:59:01 +02:00
parent cc58713361
commit 005b0a9a68
4 changed files with 16 additions and 2 deletions

View File

@@ -96,4 +96,9 @@ void CorePlugin::remoteArgument(const QString& arg)
}
}
void CorePlugin::shutdown()
{
m_mainWindow->shutdown();
}
Q_EXPORT_PLUGIN(CorePlugin)

View File

@@ -47,8 +47,9 @@ public:
CorePlugin();
~CorePlugin();
bool initialize(const QStringList &arguments, QString *errorMessage = 0);
void extensionsInitialized();
virtual bool initialize(const QStringList &arguments, QString *errorMessage = 0);
virtual void extensionsInitialized();
virtual void shutdown();
public slots:
void remoteArgument(const QString&);

View File

@@ -1081,6 +1081,13 @@ void MainWindow::resetContext()
updateContextObject(0);
}
void MainWindow::shutdown()
{
disconnect(QApplication::instance(), SIGNAL(focusChanged(QWidget*,QWidget*)),
this, SLOT(updateFocusWidget(QWidget*,QWidget*)));
m_activeContext = 0;
}
static const char *settingsGroup = "MainWindow";
static const char *geometryKey = "Geometry";
static const char *colorKey = "Color";

View File

@@ -89,6 +89,7 @@ public:
bool init(QString *errorMessage);
void extensionsInitialized();
void shutdown();
IContext *contextObject(QWidget *widget);
void addContextObject(IContext *contex);