summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 04:30:13 +0000
committeryoz@chromium.org <yoz@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-05-16 04:30:13 +0000
commited223af80f326118beb39227876684ce3ceb6257 (patch)
tree3bc24f4423ffcf2cd25e5b238481ddeaffaa2e64
parent9eee736ec35ec6036e7a3889a155209845e63146 (diff)
downloadchromium_src-ed223af80f326118beb39227876684ce3ceb6257.zip
chromium_src-ed223af80f326118beb39227876684ce3ceb6257.tar.gz
chromium_src-ed223af80f326118beb39227876684ce3ceb6257.tar.bz2
Fix the reference counting in ExternalInstallGlobalError.
Because InstallUIProceed/Abort cause the global error to be deleted. BUG=240089,240090 Review URL: https://chromiumcodereview.appspot.com/15001045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@200447 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/extensions/external_install_ui.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/chrome/browser/extensions/external_install_ui.cc b/chrome/browser/extensions/external_install_ui.cc
index aa5048b..f9726bc 100644
--- a/chrome/browser/extensions/external_install_ui.cc
+++ b/chrome/browser/extensions/external_install_ui.cc
@@ -347,14 +347,16 @@ void ExternalInstallGlobalError::OnBubbleViewDidClose(Browser* browser) {
void ExternalInstallGlobalError::BubbleViewAcceptButtonPressed(
Browser* browser) {
- delegate_->InstallUIProceed();
+ ExternalInstallDialogDelegate* delegate = delegate_;
delegate_ = NULL;
+ delegate->InstallUIProceed();
}
void ExternalInstallGlobalError::BubbleViewCancelButtonPressed(
Browser* browser) {
- delegate_->InstallUIAbort(true);
+ ExternalInstallDialogDelegate* delegate = delegate_;
delegate_ = NULL;
+ delegate->InstallUIAbort(true);
}
// Public interface ---------------------------------------------------------