summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
authordarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-19 19:29:47 +0000
committerdarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-19 19:29:47 +0000
commit0da050b91d7341805c3ad9f3d0207aefee08f9e0 (patch)
tree661ceedcdd62ffe8e02a946455d785c21182f272 /chrome
parentb16ef312cb28582a1d324d20e4328afeef2c7538 (diff)
downloadchromium_src-0da050b91d7341805c3ad9f3d0207aefee08f9e0.zip
chromium_src-0da050b91d7341805c3ad9f3d0207aefee08f9e0.tar.gz
chromium_src-0da050b91d7341805c3ad9f3d0207aefee08f9e0.tar.bz2
The automation system can be torn down before all of the notification observers
that the automation system created. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1046 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/automation/automation_provider.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/automation/automation_provider.cc b/chrome/browser/automation/automation_provider.cc
index db3f630..fafdd5b 100644
--- a/chrome/browser/automation/automation_provider.cc
+++ b/chrome/browser/automation/automation_provider.cc
@@ -599,6 +599,11 @@ AutomationProvider::AutomationProvider(Profile* profile)
}
AutomationProvider::~AutomationProvider() {
+ // Make sure that any outstanding NotificationObservers also get destroyed.
+ ObserverList<NotificationObserver>::Iterator it(notification_observer_list_);
+ NotificationObserver* observer;
+ while ((observer = it.GetNext()) != NULL)
+ delete observer;
}
void AutomationProvider::ConnectToChannel(const std::wstring& channel_id) {