diff options
Diffstat (limited to 'chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm')
-rw-r--r-- | chrome/browser/ui/cocoa/infobars/infobar_container_controller.mm | 4 |
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]; |