summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 05:21:24 +0000
committerrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 05:21:24 +0000
commit9079a16bdb5d4960ceb64a525f9dc0193b667026 (patch)
tree03add13c3eb9ef919eed29d5565d294a9a13a7e0 /ui
parent5dfa47c9d9d5a2350b9ea8f362c4987ceed7bdda (diff)
downloadchromium_src-9079a16bdb5d4960ceb64a525f9dc0193b667026.zip
chromium_src-9079a16bdb5d4960ceb64a525f9dc0193b667026.tar.gz
chromium_src-9079a16bdb5d4960ceb64a525f9dc0193b667026.tar.bz2
[Mac][MC] Release the MCPopupController on the outermost run loop.
The controller is being released while it is still on screen, and so it can be messaged after it is gone. Releasing on the outermost loop ensures that if the user presses a button, the -release message isn't pumped from a -mouseDown: nested loop. BUG=247799 TEST=Fewer crashes on the crash server. Review URL: https://chromiumcodereview.appspot.com/16637005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205147 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui')
-rw-r--r--ui/message_center/cocoa/popup_controller.mm5
1 files changed, 4 insertions, 1 deletions
diff --git a/ui/message_center/cocoa/popup_controller.mm b/ui/message_center/cocoa/popup_controller.mm
index d57457e..2e65cc8 100644
--- a/ui/message_center/cocoa/popup_controller.mm
+++ b/ui/message_center/cocoa/popup_controller.mm
@@ -132,7 +132,10 @@ enum {
boundsAnimation_.reset();
}
[super close];
- [self release];
+ [self performSelectorOnMainThread:@selector(release)
+ withObject:nil
+ waitUntilDone:NO
+ modes:@[ NSDefaultRunLoopMode ]];
}
- (MCNotificationController*)notificationController {