summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 19:20:04 +0000
committerrohitrao@chromium.org <rohitrao@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-20 19:20:04 +0000
commita6f52cc255d22abd7d9ac9a90178a925ecc8a763 (patch)
treeb2abd937ca9e22a926a8b02084ce78c3ef01822a
parent23484fc867f134507ce888634b932a74b905f14a (diff)
downloadchromium_src-a6f52cc255d22abd7d9ac9a90178a925ecc8a763.zip
chromium_src-a6f52cc255d22abd7d9ac9a90178a925ecc8a763.tar.gz
chromium_src-a6f52cc255d22abd7d9ac9a90178a925ecc8a763.tar.bz2
Merge 45052 - [Mac] Clean up references to parentWindow_ when closing an extension popup.
BUG=40057 TEST=Install aniweather extension. Open popup and CmdQ while popup is still open. Should not crash. Review URL: http://codereview.chromium.org/1659009 TBR=rohitrao@chromium.org Review URL: http://codereview.chromium.org/1707001 git-svn-id: svn://svn.chromium.org/chrome/branches/375/src@45061 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/cocoa/extensions/extension_popup_controller.mm8
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/extensions/extension_popup_controller.mm b/chrome/browser/cocoa/extensions/extension_popup_controller.mm
index 0e656b8..1dec941 100644
--- a/chrome/browser/cocoa/extensions/extension_popup_controller.mm
+++ b/chrome/browser/cocoa/extensions/extension_popup_controller.mm
@@ -176,6 +176,14 @@ class DevtoolsNotificationBridge : public NotificationObserver {
- (void)close {
[parentWindow_ removeChildWindow:[self window]];
+
+ // No longer have a parent window, so nil out the pointer and deregister for
+ // notifications.
+ NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
+ [center removeObserver:self
+ name:NSWindowWillCloseNotification
+ object:parentWindow_];
+ parentWindow_ = nil;
[super close];
}