summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm')
-rw-r--r--chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm b/chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm
index 0d19573..65f927a 100644
--- a/chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm
+++ b/chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm
@@ -240,6 +240,10 @@ class InfoBarNotificationObserver : public NotificationObserver {
for (InfoBarController* controller in
[NSArray arrayWithArray:infobarControllers_.get()]) {
[[controller animatableView] stopAnimation];
+ // This code can be executed while InfoBarController is still on the stack,
+ // so we retain and autorelease the controller to prevent it from being
+ // dealloc'ed too early.
+ [[controller retain] autorelease];
[[controller view] removeFromSuperview];
}
[infobarControllers_ removeAllObjects];