From 5aedcb78a8d40901ba81c3e14652d0c48d1efca0 Mon Sep 17 00:00:00 2001
From: Christian Kandeler <christian.kandeler@nokia.com>
Date: Mon, 15 Nov 2010 11:44:21 +0100
Subject: [PATCH] Help plugin: Fix possible crash on documentation update.

We must not call updateFilterPage() when the "Options" dialog
is not currently open.
Without this patch, Creator will crash on a documentation update
if that dialog has been opened at least once and is currently closed.

Reviewed-by: kh1
Reviewed-by: con
---
 src/plugins/help/filtersettingspage.cpp | 6 ++++++
 src/plugins/help/filtersettingspage.h   | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/plugins/help/filtersettingspage.cpp b/src/plugins/help/filtersettingspage.cpp
index faf02d941ca..f114b6f99df 100644
--- a/src/plugins/help/filtersettingspage.cpp
+++ b/src/plugins/help/filtersettingspage.cpp
@@ -247,6 +247,12 @@ void FilterSettingsPage::apply()
     }
 }
 
+void FilterSettingsPage::finish()
+{
+    disconnect(Core::HelpManager::instance(), SIGNAL(documentationChanged()),
+        this, SLOT(updateFilterPage()));
+}
+
 bool FilterSettingsPage::matches(const QString &s) const
 {
     return m_searchKeywords.contains(s, Qt::CaseInsensitive);
diff --git a/src/plugins/help/filtersettingspage.h b/src/plugins/help/filtersettingspage.h
index 1af5549e318..0968b1d3dba 100644
--- a/src/plugins/help/filtersettingspage.h
+++ b/src/plugins/help/filtersettingspage.h
@@ -52,7 +52,7 @@ public:
 
     QWidget *createPage(QWidget *parent);
     void apply();
-    void finish() {}
+    void finish();
     virtual bool matches(const QString &s) const;
 
 signals:
-- 
GitLab