summaryrefslogtreecommitdiffstats
path: root/chrome/browser/app_modal_dialog_gtk.cc
diff options
context:
space:
mode:
authortony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-23 01:17:35 +0000
committertony@chromium.org <tony@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-23 01:17:35 +0000
commit66711f6f7abbf3ed9f0d39e4f497620ab39e79f0 (patch)
treee341e531b756e3dc290fd04d94c30a4da59b25b1 /chrome/browser/app_modal_dialog_gtk.cc
parent8516471942ded5ca17efd0681f1ae12ac86f3617 (diff)
downloadchromium_src-66711f6f7abbf3ed9f0d39e4f497620ab39e79f0.zip
chromium_src-66711f6f7abbf3ed9f0d39e4f497620ab39e79f0.tar.gz
chromium_src-66711f6f7abbf3ed9f0d39e4f497620ab39e79f0.tar.bz2
Fix a crash when we try to close a js dialog that wasn't shown.
The dialog has been queued, but it hasn't been shown because a different dialog is already showing. We try to close the dialog because a page navigation has occurred. BUG=47056 TEST=None Review URL: http://codereview.chromium.org/2803017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50561 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/app_modal_dialog_gtk.cc')
-rw-r--r--chrome/browser/app_modal_dialog_gtk.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/chrome/browser/app_modal_dialog_gtk.cc b/chrome/browser/app_modal_dialog_gtk.cc
index b0268e6..2eb9185 100644
--- a/chrome/browser/app_modal_dialog_gtk.cc
+++ b/chrome/browser/app_modal_dialog_gtk.cc
@@ -31,17 +31,21 @@ void AppModalDialog::OnDialogResponse(GtkDialog* dialog, gint response_id,
}
void AppModalDialog::ActivateModalDialog() {
+ DCHECK(dialog_);
gtk_window_present(GTK_WINDOW(dialog_));
}
void AppModalDialog::CloseModalDialog() {
+ DCHECK(dialog_);
HandleDialogResponse(GTK_DIALOG(dialog_), GTK_RESPONSE_DELETE_EVENT);
}
void AppModalDialog::AcceptWindow() {
+ DCHECK(dialog_);
HandleDialogResponse(GTK_DIALOG(dialog_), GTK_RESPONSE_OK);
}
void AppModalDialog::CancelWindow() {
+ DCHECK(dialog_);
HandleDialogResponse(GTK_DIALOG(dialog_), GTK_RESPONSE_CANCEL);
}